将对象解析为JSON

时间:2012-01-05 21:34:13

标签: javascript json

我有一些Web服务接收通过jquery方法发送的JSON数据。 但我需要在发送此数据之前编辑对象。有没有办法将jSON对象解析为javascript中的简单对象,修改它然后再次解析为JSON。或者更新这个JSON对象而不解析它?

5 个答案:

答案 0 :(得分:6)

从JSON字符串转到JavaScript对象:JSON.parse$.parseJSON如果您正在使用jQuery并且关注与旧浏览器的兼容性。

从JavaScript对象转到JSON字符串:JSON.stringify


  

如果我已经这样做了var myData = JSON.stringify({oJson:{data1:1}});然后我想更新那个信息设置data1 = 2,最好的方法是什么?

var myData = JSON.stringify({ oJson:{data1 :1}});
// later...
parsedData = JSON.parse(myData);
parsedData.oJson.data1 = 2;
myData = JSON.stringify(parsedData);

更好的是,如果在对字符串进行字符串化之前保存对象的引用,则根本不需要解析JSON:

var obj = { oJson:{data1 :1}};
var myData = JSON.stringify(obj);
// later...
obj.oJson.data1 = 2;
myData = JSON.stringify(obj);

答案 1 :(得分:3)

var parsed = JSON.parse('{"a": 1}');
parsed.b = 2;
var string = JSON.stringify(parsed);
//string is: '{"a":1,"b":2}'

答案 2 :(得分:0)

我认为以下内容应该有效...

//Convert your JSON object into a JavaScript object
var myObject = JSON.parse(json);

//You can then manipulate the JavaScript object like any other
myObject.SomeValue = "new";

//Then you can convert back to a JSON formatted string
json = JSON.stringify(myObject);

答案 3 :(得分:0)

由于JSON是一个JavaScript对象,您可以使用JavaScript操作它。

答案 4 :(得分:0)

你可以做这样的事情来获得一个javascript对象:

var jsObject = JSON.parse(jsonString);

然后您可以修改jsObject并将其转换回JSON.stringify的JSON字符串。

page有更多相关信息。