将对象解析为JSON

Parse object to JSON

本文关键字:JSON 对象      更新时间:2023-09-26

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

从JSON字符串转换为JavaScript对象:JSON.parse,或者$.parseJSON,如果您使用jQuery并关心与旧浏览器的兼容性。

要从JavaScript对象转换为JSON字符串:JSON.stringify


如果我已经这样做了var myData=JSON.stringfy({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);
var parsed = JSON.parse('{"a": 1}');
parsed.b = 2;
var string = JSON.stringify(parsed);
//string is: '{"a":1,"b":2}'

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

//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);

由于JSON是一个JavaScript对象,您可以简单地使用JavaScript对其进行操作。

您可以这样做来获得一个javascript对象:

var jsObject = JSON.parse(jsonString);

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

这个页面有更多关于它的信息。