[英]How to parse JSON in JavaScript to take value
我真的坚持解析 JSON 字符串并获取它的值。 我得到了 JSON 字符串
{"user":{"id":"1","firstname":"Freelogin","created":"0000-00-00 00:00:00","lastname":"Administrator","email":"fred@websecurify.com", "usergroup_id":"1","status":"1","ip_enable":"N","priv":"0","expire":""},"data":{ "1":{"5":{"last_update":"2010-12-13 16:16:16","status":"0"},"3":{"last_update":"2010-12-13 16:41:48","status":"1"}},"2":{"6":{"last_update":"2010-12-13 16:41:48","status":"1"}}},"server_array":[{"id":"1","name":"anes.yyy.net"},{ "id":"2","name":"neseema.xxx.net"}],"service_array":[{"id":"5","name":"POP3"}, {"id":"6","name":"Cpanel"},{"id":"3","name":"SMTP"}],"sort_by":"servername", "sort_order":"ASC","pagelinks":"","totrows":"2","offset":"0","limitvalue":"10", "rows_monitor":2,"current":"monitor","uri":false}
如何解析并获取结果以在 JavaScript 中进行进一步处理
你应该使用jQuery.parseJSON
。 如果可用,它将使用本机 JSON ,并且仅在必要时在完整性检查后使用eval
。
使用JSON.parse (从http://json.org重定向),或者MDN
Json 已经是一些 javascript 了。 所以解析只是使用eval
像:
var foobar = eval(yourjson);
alert(foobar.user);
jquery 也有一些功能jquery.parseJSON
像:
var foobar = $.parseJSON(yourjson);
Jquery 更好,因为它会做一些检查并表现得更好。
首先,下载jQuery 。
其次,将其包含在您的页面中。
第三,如果你的变量是这样的:
var jsonString = '{"user":{"id":"1","firstname":"Freelogin","created":"0000-00-00 00:00:00","lastname":"Administrator","email":"fred@websecurify.com", "usergroup_id":"1","status":"1","ip_enable":"N","priv":"0","expire":""},"data":{ "1":{"5":{"last_update":"2010-12-13 16:16:16","status":"0"},"3":{"last_update":"2010-12-13 16:41:48","status":"1"}},"2":{"6":{"last_update":"2010-12-13 16:41:48","status":"1"}}},"server_array":[{"id":"1","name":"anes.yyy.net"},{ "id":"2","name":"neseema.xxx.net"}],"service_array":[{"id":"5","name":"POP3"}, {"id":"6","name":"Cpanel"},{"id":"3","name":"SMTP"}],"sort_by":"servername", "sort_order":"ASC","pagelinks":"","totrows":"2","offset":"0","limitvalue":"10", "rows_monitor":2,"current":"monitor","uri":false}';
那么,
var parsedJson = jQuery.parseJSON(jsonString);
将为您提供已准备好进行操作的所需解析对象。
我在JSONLint上尝试了你的 JSON 字符串,它说它是有效的,所以你应该没有问题。
你可能在 som String 变量中得到了你的 json
var json = '{"user":{"id":"1","firstname":"Freelogin","created":"0000-00-00 00:00:00","lastname":"Administrator","email":"fred@websecurify.com", "usergroup_id":"1","status":"1","ip_enable":"N","priv":"0","expire":""},"data":{ "1":{"5":{"last_update":"2010-12-13 16:16:16","status":"0"},"3":{"last_update":"2010-12-13 16:41:48","status":"1"}},"2":{"6":{"last_update":"2010-12-13 16:41:48","status":"1"}}},"server_array":[{"id":"1","name":"anes.yyy.net"},{ "id":"2","name":"neseema.xxx.net"}],"service_array":[{"id":"5","name":"POP3"}, {"id":"6","name":"Cpanel"},{"id":"3","name":"SMTP"}],"sort_by":"servername", "sort_order":"ASC","pagelinks":"","totrows":"2","offset":"0","limitvalue":"10", "rows_monitor":2,"current":"monitor","uri":false}';
现在你可以很容易地通过 jQuery 解析它(你也可以通过原生的 javaScript eval 来解析它,但是有一些安全问题,格式错误的输入字符串 fe,被 jQuery 覆盖,而不是在 eval 中)
result = jQuery.parseJSON(json);
现在您可以轻松访问您的 json 对象
alert('Hello user, your name is ' + json.user.firstname);
您不需要 jQuery,在ECMAScript5 中将原生支持 JSON 对象,并且您可以使用JSON.parse方法将字符串解析为 JS 对象。 IE9 将支持 ES5,而 FF 和 Chrome 已经做到了。
目前,您可以使用 json2.js(您可以在此处查看源代码)作为本机不支持 JSON 的浏览器的后备。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.