[英]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.