JavaScript json拆分对象和更新

时间:2012-10-02 17:00:48

标签: javascript jquery json stringify

如何拆分json对象并根据ID更新它们。我听说过使用stringify!以及如何实现更新对象的功能?

<input type="text" value="{"id":"1","price":"30.00","edit":0},
{"id":"2","price":"8.00","edit":0}" id="json" />

**code:**
var json = $('#json').val().split(',');

for (var i = 0; i < json.length; i++){
  alert(json);
}
//(seems its splitting every comma it finds).

我试图存档:

  • 拆分对象{“id”:“1”,“price”:“30.00”,“edit”:0},{“id”:“2”,“price”:“8.00”,“编辑” :0}
  • 更新取决于所选的ID。
  • 然后保存并返回相同的对象格式,但更新后的值。

希望我的问题足够清楚:)

3 个答案:

答案 0 :(得分:3)

而不是字符串拆分和解析。尝试使用下面的$.parseJSON

$.parseJSON("[" + $('#json').val() + "]");

DEMO: http://jsfiddle.net/QUTu9/

还修改了html中的引号,如下所示,

<input type="text" value='{"id":"1","price":"30.00","edit":0},
{"id":"2","price":"8.00","edit":0}' id="json" />

答案 1 :(得分:0)

由于您有引用问题,这将无效。最简单的解决方案是用单引号括起来。

<input type="text" value='{"id":"1","price":"30.00","edit":0},{"id":"2","price":"8.00","edit":0}' id="json" />

请勿拆分,请使用JSON.parse

答案 2 :(得分:0)

首先,你的语法看起来有些混乱,使用单引号

包围你的值
value='{"id":"1","price":"30.00","edit":0}, {"id":"2","price":"8.00","edit":0}'