您好 在php中进行查询并使用json_encode将结果转换为JSON后,我有:
{"ga:visits":"59","ga:pageviews":"117","ga:timeOnSite":"4775.0","average_time_on_site_formatted":"0:01:20","pages_per_visit":"1.98"}
我的问题是如何循环它并将键和值存储在不同的变量中。
我不是一个javascript人,所以请帮忙并提供详细信息。
最好的问候
答案 0 :(得分:3)
您需要先将JSON字符串解析为Javascript对象。现在大多数浏览器都在window.JSON
。{/ p>中支持原生浏览器
var myObj = JSON.parse('{"ga:visits":"59","ga:pageviews":"117","ga:timeOnSite":"4775.0","average_time_on_site_formatted":"0:01:20","pages_per_visit":"1.98"}');
之后,您可以循环遍历keys
:
for(var key in myObj) {
console.log(key, ' is: ', myObj[key]);
}
如果你想在“老式”浏览器中使用它,比如IE7及以下版本,你需要使用http://www.json.org中的json2.js
来拥有相同的功能。
答案 1 :(得分:1)
var parsedObject = JSON.parse(str); //str - json string in your example
for(var key in parsedObject){
// to access each key name - use "key"
// to acces each value use parsedObject[key]
document.writeln("key:" + key + "; value: " + parsedObject[key]);
}
答案 2 :(得分:0)
我建议用
之类的东西来评估它 var obj = eval(jsonString);
这会将整个字符串转换为包含字段的对象:
然后,您可以按名称访问每个变量,例如obj.pages_per_visit