Javascript Can';无法访问json数据

Javascript Can';无法访问json数据,javascript,html,json,Javascript,Html,Json,我知道这是一个简单的问题,但我无法访问json对象中的数据。看起来是这样的: var string={"data": [ { "city": "Gansu", "value": "#000" }, { "city": "Ningzhau", "value": "#000" }, { "city": "Chongqing",

我知道这是一个简单的问题,但我无法访问json对象中的数据。看起来是这样的:

var string={"data":
[
        {
        "city": "Gansu",
        "value": "#000"
        },
        {
        "city": "Ningzhau",
        "value": "#000"
        },
        {
        "city": "Chongqing",
        "value": "#000"
        }
     ]
 };
 var obj =JSON.parse(string);
var string = '{"data":[{"city": "Gansu","value": "#000"},{"city": "Ningzhau","value": "#000"},{"city": "Chongqing","value": "#000"}]}';
// ----------^-----------------------------------------------------------------------------------------------------------------------^

var obj = JSON.parse(string);
document.write(obj.data[0].city);
为了测试它,我正在做:
document.write(obj.data[0].city)我认为应该返回甘肃


有人能告诉我最后一行代码有什么问题以及如何修复它吗?谢谢。

您忘记在JSON数据周围添加引号,因此它实际上是一个对象。需要一个字符串。它应该是这样的:

var string={"data":
[
        {
        "city": "Gansu",
        "value": "#000"
        },
        {
        "city": "Ningzhau",
        "value": "#000"
        },
        {
        "city": "Chongqing",
        "value": "#000"
        }
     ]
 };
 var obj =JSON.parse(string);
var string = '{"data":[{"city": "Gansu","value": "#000"},{"city": "Ningzhau","value": "#000"},{"city": "Chongqing","value": "#000"}]}';
// ----------^-----------------------------------------------------------------------------------------------------------------------^

var obj = JSON.parse(string);
document.write(obj.data[0].city);

“string”已经是一个对象,无需转换


只需执行
string.data[0].city

或者您不应该解析JSON:

var string={"data":
[
        {
        "city": "Gansu",
        "value": "#000"
        },
        {
        "city": "Ningzhau",
        "value": "#000"
        },
        {
        "city": "Chongqing",
        "value": "#000"
        }
     ]
 };

alert(string.data[0].city);