获取JSON stringify的值

8

我有一个 JSON stringify 的数据,像这样:

[{"availability_id":"109465","date":"2017-02-21","price":"430000"},{"availability_id":"109466","date":"2017-02-22","price":"430000"},{"availability_id":"109467","date":"2017-02-23","price":"430000"}]

我想要获取该数据中仅包含价格数值。我尝试了以下方法,但并不起作用。

var stringify = JSON.stringify(values);

for(var i = 0; i < stringify.length; i++)
{
    alert(stringify[i]['price']);
}

我该怎么做呢?

我需要知道你是在使用 stringify 方法来处理变量名,还是指你正在使用 JSON.stringify 方法? 然后,这个变量是否是你发布的 JSON 字符串? - Sylvain
@Sylvain 我从中得到了 var stringify = JSON.stringify(values); - Antonio
你遇到了什么错误?在我的Chrome控制台中它运行良好。 - Asad
@Asad 我在警告框中得到了未定义。 - Antonio
请参考我的回答 @Antonio - Asad
@Asad 好的,我明白了。谢谢。 - Antonio
4个回答

21

这段代码将只获取价格详情。

var obj = '[{"availability_id":"109465","date":"2017-02-21","price":"430000"},{"availability_id":"109466","date":"2017-02-22","price":"430000"},{"availability_id":"109467","date":"2017-02-23","price":"430000"}]';
var stringify = JSON.parse(obj);
for (var i = 0; i < stringify.length; i++) {
    console.log(stringify[i]['price']);
}

1
需要注意的是,这段代码中的变量命名不好(操作失误)。我会将其更改为:obj -> jsonString(或dataString),stringify -> jsonObj(或parsedData,或简单地data)。 - MortezaE

10

注意:

如果你想解析对象数组以获取属性,你必须先将其转换为JSON对象

演示

var jsonStringify = '[{"availability_id":"109465","date":"2017-02-21","price":"430000"},{"availability_id":"109466","date":"2017-02-22","price":"430000"},{"availability_id":"109467","date":"2017-02-23","price":"430000"}]';

var jsonObj = JSON.parse(jsonStringify);

for(var i = 0; i < jsonObj.length; i++)
{
    alert(jsonObj[i]['price']);
}


2
你将会得到一个类似于下面这样的字符串化对象:
var obj='[{"availability_id":"109465","date":"2017-02-21","price":"430000"},
{"availability_id":"109466","date":"2017-02-22","price":"430000"},
{"availability_id":"109467","date":"2017-02-23","price":"430000"}]';

使用JSON.parse(object)解析您的对象,然后应用此循环并让我知道是否有任何错误,像这样:

var parseObject = JSON.parse(object);

0

不要在选择数据之前使用 stringify,而应直接在 values 数组上使用循环。

例如:

var priceArray = array();
values.forEach (data) {
    alert(data['price'];
    priceArray.push(data['price']);
}

stringify = JSON.stringify(values);
stringifiedPriceArray = JsON.stringify(priceArray);

一旦将其转换为字符串,您就无法访问数组中的数据


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接