2012-10-02 43 views
0

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

<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”, “价格”: “30.00”, “编辑”:0},{ “ID”: “2”,“价格”:“8.00”,“编辑”:0}
  • 更新取决于选定的ID。
  • 然后保存并返回相同的对象格式,但具有更新的值。

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

回答

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" /> 
+0

感谢队友..你救我的日子:D – tonoslfx

0

,因为你有报价的问题,将无法正常工作。最简单的解决方案是用单引号包围它。

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

不要拆它,使用JSON.parse

0

首先你的语法看起来有点乱了,用单引号

value='{"id":"1","price":"30.00","edit":0}, {"id":"2","price":"8.00","edit":0}' 
+0

您CNA不使用粗体标签码的标签内。 – epascarello

+0

我的意思是使用“而不是”.. –