简体   繁体   中英

How to get data from json array in JavaScript?

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM