从PHP解析JSON的问题

Abs*_*Abs 0 javascript php json

我通过AJAX从我的服务器获得一个响应,其中一个数组是json_encode(php funciton).但是,我在解析它时遇到了困难.

我可以做这个:

alert(response);
Run Code Online (Sandbox Code Playgroud)

但它只是给了我一堆这样的文字:

[{ "USER_ID": "Dev_V2_MEH_0910_M03_v03c_NEW_CODE_03" ...... "grouper_opae_algorithm": "nap_v42lp"}]

请注意,我剪了很多.我试过这个:

alert(response[0].user_id);
Run Code Online (Sandbox Code Playgroud)

这只是给我未定义.

我究竟做错了什么?

Gre*_*reg 5

你将它作为一个字符串取回 - 你需要将它转换成一个对象.

如果您正在使用像jQuery或Prototype这样的库,那么将会有一个内置方法来执行此操作.否则你可以使用eval:

object = eval('(' + response + ')');
Run Code Online (Sandbox Code Playgroud)

这确实打开了一些安全漏洞 - 如果一个函数被注入到JSON中,它将被执行.

  • 是的,你应该使用getJSON()方法:http://docs.jquery.com/Ajax/jQuery.getJSON (3认同)
  • 如果我使用JQuery怎么办?它是getJson()吗? (2认同)