Làm cách nào để kiểm tra xem khóa có tồn tại trong đối tượng json trong python không?

Tôi đang sử dụng hành động "Gọi trình kích hoạt HTTP" trong quy trình của mình. Đôi khi, hành động này trả về phản hồi JSON mà không cần một số khóa

Ai đó có thể giúp tôi cách kiểm tra xem các khóa như  locationUri, locationType có tồn tại trong phản hồi JSON không.  

Điều kiện chứa[đầu ra['Invoke_an_HTTP_request'],'locationUri'] không giúp được gì

Phản hồi JSON

"vị trí". {
"displayName". "",
"locationUri". "",
"loại vị trí". "conferenceRoom",
"uniqueId". "",
"uniqueIdType". "thư mục",
"địa chỉ". {
"đường phố". "",
"thành phố". "",
"trạng thái". "",
"quốc giaHoặcKhu vực". "",
"Mã bưu điện". ""
},
"tọa độ". {}
},
"địa điểm". [
{
"displayName". "",
"locationUri". "",
"loại vị trí". "conferenceRoom",
"uniqueId". "",
"uniqueIdType". "thư mục",
"địa chỉ". {
"đường phố". "",
"thành phố". "",
"trạng thái". "",
"quốc giaHoặcKhu vực". "",
"Mã bưu điện". ""
},
"tọa độ". {}
}
],

Có một số cách để kiểm tra

Phương pháp 1

function hasKeys[jsonObj, keyList] {
  for [var i=0; i< keyList.length; i++] {
    //if [!jsonObj[0][keyList[i]]] {
    if [![keyList[i] in jsonObj[0]]] {
      return false;
    }
  }
  return true;
}

var keyList = ["Key1", "Key3"];  // array of keys to check if they exists

var str = '[{"Key1":"Value1", "Key2":"Value2","Key3":"Value3","Key4":"Value4"}]';  // json
var jsonObj = JSON.parse[str];

gs.info[hasKeys[jsonObj, keyList]];  // check if keys in keyList exists in jsonObj

phương pháp 2

function hasKeys2[keys, keyList] {
  return keyList.every[function[val] { return keys.indexOf[val] >= 0; }];
}

var keyList = ["Key1", "Key3"];

var str = '[{"Key1":"Value1", "Key2":"Value2","Key3":"Value3","Key4":"Value4"}]';
var jsonObj = JSON.parse[str];
var keys = Object.keys[jsonObj[0]];  // extract all keys from jsonObj

gs.info[hasKeys2[keys, keyList]];

Chấp hành

Trường hợp 1. Tất cả các khóa tồn tại

var keyList = ["Key1", "Key2", "Key3"];

var str = '[{"Key1":"Value1", "Key2":"Value2","Key3":"Value3","Key4":"Value4"}]';

Kết quả

*** Script: true

trường hợp 2. Một khóa không tồn tại

var keyList = ["Key1", "Key2", "Key3"];

var str = '[{"Key1":"Value1", "Key3":"Value3","Key4":"Value4"}]'; // removed "Key2"

Kết quả

*** Script: false

Bởi Damola Ajibade qua Thảo luận về Python. org lúc 24 tháng 9 năm 2022 16. 09

Nếu tôi muốn kiểm tra xem Chuỗi JSON của mình có Lỗi từ yêu cầu API hay không, tôi
có một chuỗi đã lưu phản hồi, Ví dụ

cuối cùng = phản ứng. json[]

Và tôi muốn kiểm tra xem lỗi phản hồi API

Tùy thuộc vào API - lưu ý rằng mã HTTP

function hasKeys2[keys, keyList] {
  return keyList.every[function[val] { return keys.indexOf[val] >= 0; }];
}

var keyList = ["Key1", "Key3"];

var str = '[{"Key1":"Value1", "Key2":"Value2","Key3":"Value3","Key4":"Value4"}]';
var jsonObj = JSON.parse[str];
var keys = Object.keys[jsonObj[0]];  // extract all keys from jsonObj

gs.info[hasKeys2[keys, keyList]];
5 cũng có thể
chỉ ra lỗi. Nhưng giả sử điều đó tốt, bạn muốn giải mã JSON
thành một đối tượng Python [thường là một
function hasKeys2[keys, keyList] {
  return keyList.every[function[val] { return keys.indexOf[val] >= 0; }];
}

var keyList = ["Key1", "Key3"];

var str = '[{"Key1":"Value1", "Key2":"Value2","Key3":"Value3","Key4":"Value4"}]';
var jsonObj = JSON.parse[str];
var keys = Object.keys[jsonObj[0]];  // extract all keys from jsonObj

gs.info[hasKeys2[keys, keyList]];
6] và kiểm tra
function hasKeys2[keys, keyList] {
  return keyList.every[function[val] { return keys.indexOf[val] >= 0; }];
}

var keyList = ["Key1", "Key3"];

var str = '[{"Key1":"Value1", "Key2":"Value2","Key3":"Value3","Key4":"Value4"}]';
var jsonObj = JSON.parse[str];
var keys = Object.keys[jsonObj[0]];  // extract all keys from jsonObj

gs.info[hasKeys2[keys, keyList]];
6. Tôi có xu hướng
sử dụng hậu tố trên tên biến để theo dõi cái gì.
Ví dụ.

 import json
 ........
 final_js = response.json[]
 final = json.loads[final_js]
 .. look a what's in `final` now ...

Nhưng tôi nghĩ rằng trong gói

function hasKeys2[keys, keyList] {
  return keyList.every[function[val] { return keys.indexOf[val] >= 0; }];
}

var keyList = ["Key1", "Key3"];

var str = '[{"Key1":"Value1", "Key2":"Value2","Key3":"Value3","Key4":"Value4"}]';
var jsonObj = JSON.parse[str];
var keys = Object.keys[jsonObj[0]];  // extract all keys from jsonObj

gs.info[hasKeys2[keys, keyList]];
8,
function hasKeys2[keys, keyList] {
  return keyList.every[function[val] { return keys.indexOf[val] >= 0; }];
}

var keyList = ["Key1", "Key3"];

var str = '[{"Key1":"Value1", "Key2":"Value2","Key3":"Value3","Key4":"Value4"}]';
var jsonObj = JSON.parse[str];
var keys = Object.keys[jsonObj[0]];  // extract all keys from jsonObj

gs.info[hasKeys2[keys, keyList]];
9
thực sự đã giải mã phản hồi JSON cho bạn và vì vậy,
var keyList = ["Key1", "Key2", "Key3"];

var str = '[{"Key1":"Value1", "Key2":"Value2","Key3":"Value3","Key4":"Value4"}]';
0 của bạn ở trên
đã là một
function hasKeys2[keys, keyList] {
  return keyList.every[function[val] { return keys.indexOf[val] >= 0; }];
}

var keyList = ["Key1", "Key3"];

var str = '[{"Key1":"Value1", "Key2":"Value2","Key3":"Value3","Key4":"Value4"}]';
var jsonObj = JSON.parse[str];
var keys = Object.keys[jsonObj[0]];  // extract all keys from jsonObj

gs.info[hasKeys2[keys, keyList]];
6 . Vì vậy, bạn không cần phải
sử dụng
 print[type[final]]
1 để biến nó thành thứ gì đó.

làm gì

 print[type[final]]

cho bạn biết về loại

var keyList = ["Key1", "Key2", "Key3"];

var str = '[{"Key1":"Value1", "Key2":"Value2","Key3":"Value3","Key4":"Value4"}]';
0? . e. chưa được giải mã
JSON] hoặc thứ gì đó khác, có thể là
function hasKeys2[keys, keyList] {
  return keyList.every[function[val] { return keys.indexOf[val] >= 0; }];
}

var keyList = ["Key1", "Key3"];

var str = '[{"Key1":"Value1", "Key2":"Value2","Key3":"Value3","Key4":"Value4"}]';
var jsonObj = JSON.parse[str];
var keys = Object.keys[jsonObj[0]];  // extract all keys from jsonObj

gs.info[hasKeys2[keys, keyList]];
6, cho biết rằng JSON
đã được giải mã cho bạn? .

function hasKeys2[keys, keyList] {
  return keyList.every[function[val] { return keys.indexOf[val] >= 0; }];
}

var keyList = ["Key1", "Key3"];

var str = '[{"Key1":"Value1", "Key2":"Value2","Key3":"Value3","Key4":"Value4"}]';
var jsonObj = JSON.parse[str];
var keys = Object.keys[jsonObj[0]];  // extract all keys from jsonObj

gs.info[hasKeys2[keys, keyList]];
0

làm cho bạn?

function hasKeys2[keys, keyList] {
  return keyList.every[function[val] { return keys.indexOf[val] >= 0; }];
}

var keyList = ["Key1", "Key3"];

var str = '[{"Key1":"Value1", "Key2":"Value2","Key3":"Value3","Key4":"Value4"}]';
var jsonObj = JSON.parse[str];
var keys = Object.keys[jsonObj[0]];  // extract all keys from jsonObj

gs.info[hasKeys2[keys, keyList]];
1

sẽ tạo ra một bản in dễ hiểu hơn

Chúc mừng!
Cameron Simpson cs@cskk. Tôi. au

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách kiểm tra xem một khóa có tồn tại trong chuỗi JSON [Ký hiệu đối tượng JavaScript] hay không bằng Python

JSON là một loại định dạng dữ liệu phổ biến và đặc biệt được sử dụng để thao tác dữ liệu. Vì vậy, hãy xem…

Chương trình Python để kiểm tra xem khóa có tồn tại trong chuỗi JSON không

Trước tiên, hãy xem xét chuỗi JSON sau

function hasKeys2[keys, keyList] {
  return keyList.every[function[val] { return keys.indexOf[val] >= 0; }];
}

var keyList = ["Key1", "Key3"];

var str = '[{"Key1":"Value1", "Key2":"Value2","Key3":"Value3","Key4":"Value4"}]';
var jsonObj = JSON.parse[str];
var keys = Object.keys[jsonObj[0]];  // extract all keys from jsonObj

gs.info[hasKeys2[keys, keyList]];
2

Để phát hiện xem một khóa có tồn tại trong chuỗi định dạng JSON ở trên hay không, bạn nên sử dụng từ khóa 'in' vì Python coi dữ liệu JSON ở trên là Chuỗi. Xem đoạn mã dưới đây và cố gắng hiểu

function hasKeys2[keys, keyList] {
  return keyList.every[function[val] { return keys.indexOf[val] >= 0; }];
}

var keyList = ["Key1", "Key3"];

var str = '[{"Key1":"Value1", "Key2":"Value2","Key3":"Value3","Key4":"Value4"}]';
var jsonObj = JSON.parse[str];
var keys = Object.keys[jsonObj[0]];  // extract all keys from jsonObj

gs.info[hasKeys2[keys, keyList]];
3

Đầu ra của chương trình trên sẽ là

function hasKeys2[keys, keyList] {
  return keyList.every[function[val] { return keys.indexOf[val] >= 0; }];
}

var keyList = ["Key1", "Key3"];

var str = '[{"Key1":"Value1", "Key2":"Value2","Key3":"Value3","Key4":"Value4"}]';
var jsonObj = JSON.parse[str];
var keys = Object.keys[jsonObj[0]];  // extract all keys from jsonObj

gs.info[hasKeys2[keys, keyList]];
4

Vì khóa 'trang web' có trong chuỗi json, nên khối 'nếu' được thực thi

Chúng tôi không thể truy cập các giá trị bằng cách sử dụng các khóa trong phương thức này. Để truy cập các giá trị, bạn nên chuyển đổi chuỗi JSON thành từ điển python bằng cách sử dụng 'json. loading[]' sau khi nhập mô-đun 'json'. Sau đó, bạn có thể kiểm tra xem một khóa có tồn tại trong từ điển hay không và nếu nó tồn tại, bạn có thể truy cập giá trị. Xem đoạn mã sau

Làm cách nào để biết khóa JSON có phải là đối tượng không?

Trong chương trình trên, phương thức hasOwnProperty[] được sử dụng để kiểm tra xem một khóa có tồn tại trong một đối tượng hay không. Phương thức hasOwnProperty[] trả về true nếu khóa được chỉ định nằm trong đối tượng, nếu không, nó trả về false.

Khóa trong đối tượng JSON là gì?

Hai phần chính tạo nên JSON là khóa và giá trị. Họ cùng nhau tạo một cặp khóa/giá trị. Chìa khóa. Khóa luôn là một chuỗi nằm trong dấu ngoặc kép . Giá trị. Một giá trị có thể là một chuỗi, số, biểu thức boolean, mảng hoặc đối tượng.

Python đếm các khóa trong JSON như thế nào?

SỬ DỤNG len[] ĐỂ ĐẾM CÁC MỤC TRONG ĐỐI TƯỢNG JSON . Gọi len[obj] để trả về số lượng mục trong đối tượng JSON obj.

Chủ Đề