I have php function, that returns array to JavaScript like this:
$data['first'] = 10; $data['second'] = 20; echo json_enocde($data);
In JavaScript the returned value is named response. I need to display the values and tried like this after reading about json:
alert("First: " + response.first + " Second: " + response.second);
But this code only shows undefined values in places of response.first and response.second. If I write alert(response), then I get answer:
{"first":"10","second":"20"}
This means, that JavaScript is getting the information. How can I get the values separately from the json encoded array?
Regards
使用JSON.parse()
将JSON字符串转换为JavaScript对象。
Looks like you still have the JSON string, and not parsed it to an JS object. Use JSON.parse
:
var jsonString = '{"first":"10","second":"20"}'; // from whereever
var obj = JSON.parse(jsonString);
alert("First: " + response.first + " Second: " + response.second);
alert(obj); // should now be "[object Object]"
use eval like (NOT RECOMMENDED)
var res = eval(response); //as you can see people are against it so I am editing the answer
USE JSON.parse()
OR if you use jquery
jQuery.parseJSON(response);
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.