我现在从服务中获取的json输出是
[{"errno": "0","num_keys": "0"},
{"errno": "1","num_keys": "2"},
{"errno": "3","num_keys": "4"},
{"errno": "5","num_keys": "6"}]
在这种情况下,如果键errno和num_keys,我想提取每个值。
我正在使用以下代码:
var request = new sn_ws.RESTMessageV2();
request.setEndpoint("url");
request.setHttpMethod('GET');
request.setRequestHeader('Content-Type','application/json');
request.setRequestHeader('X-IPM-Username','some name');
request.setRequestHeader('X-IPM-Password','some password');
var response = request.execute();
var result=response.getBody();
这里是如何提取值的?
var result=response.json();
答案 0 :(得分:0)
简单解析:
var json = '{"myjsons":[{"errno": "0","num_keys": "0"},{"errno": "2","num_keys": "3"}]}';
var jsonData = JSON.parse(json);
for (var i = 0; i < jsonData.myjsons.length; i++) {
var myjsons= jsonData.myjsons[i];
console.log(myjsons.errno);
console.log(myjsons.num_keys);
}
也这样:
var arr = [{"errno": "0","num_keys": "0"},
{"errno": "1","num_keys": "2"},
{"errno": "3","num_keys": "4"},
{"errno": "5","num_keys": "6"}];
arr.forEach(function(value){
console.log('errno: ' + value.errno);
console.log('num_keys: ' + value.num_keys);
});
答案 1 :(得分:0)
以前可能已经问过这个问题,但是您的问题本身就有答案。您将需要使用JSON.parse()
将JSON字符串解析为JavaScript对象,也许是这样的:
var result = JSON.parse(response.json());
您从示例响应中得到的对象将是一个对象数组,您可以通过以下对象访问或迭代:
var error0 = result[0];
请注意,如果HTTP请求失败或未返回正确格式的JSON,则可能会出错。