我想用JavaScript解析JSON字符串。响应类似于
var response = '{"result":true,"count":1}';
如何从中获取值结果和计数?
我想用JavaScript解析JSON字符串。响应类似于
var response = '{"result":true,"count":1}';
如何从中获取值结果和计数?
当前回答
一种简单的方法:
var data = '{"result":true,"count":1}';
var json = eval("[" +data+ "]")[0]; // ;)
其他回答
如果您想将JSON 3用于较旧的浏览器,可以通过以下方式有条件地加载:
<script>
window.JSON ||
document.write('<script src="//cdnjs.cloudflare.com/ajax/libs/json3/3.2.4/json3.min.js"><\/scr'+'ipt>');
</script>
现在,无论客户端运行什么浏览器,都可以使用标准的window.JSON对象。
以下示例将明确说明:
let contactJSON = '{"name":"John Doe","age":"11"}';
let contact = JSON.parse(contactJSON);
console.log(contact.name + ", " + contact.age);
// Output: John Doe, 11
您可以像在其他答案中一样使用eval函数。(不要忘记额外的大括号。)当你深入研究时,你会知道为什么),或者简单地使用jQuery函数parseJSON:
var response = '{"result":true , "count":1}';
var parsedJSON = $.parseJSON(response);
OR
您可以使用以下代码。
var response = '{"result":true , "count":1}';
var jsonObject = JSON.parse(response);
您可以使用jsonObject.result和jsonObject.count访问这些字段。
更新:
如果输出未定义,则需要遵循此答案。也许您的json字符串具有数组格式。您需要像这样访问json对象财产
var response = '[{"result":true , "count":1}]'; // <~ Array with [] tag
var jsonObject = JSON.parse(response);
console.log(jsonObject[0].result); //Output true
console.log(jsonObject[0].count); //Output 1
使用parse()方法的最简单方法:
var response = '{"a":true,"b":1}';
var JsonObject= JSON.parse(response);
这是如何获取值的示例:
var myResponseResult = JsonObject.a;
var myResponseCount = JsonObject.b;
如果使用DojoToolkit:
require(["dojo/json"], function(JSON){
JSON.parse('{"hello":"world"}', true);
});