我一直对何时使用这两种解析方法感到困惑。
在我回显json_encoded数据并通过ajax检索它之后,我经常对何时应该使用JSON感到困惑。stringify和JSON.parse。
我得到[对象,对象]在我的控制台.log解析和JavaScript对象时stringized。
$.ajax({
url: "demo_test.txt",
success: function(data) {
console.log(JSON.stringify(data))
/* OR */
console.log(JSON.parse(data))
//this is what I am unsure about?
}
});
JavaScript对象<-> JSON字符串
JSON.stringify() <-> JSON.parse()
JSON.stringify(obj) -接受任何可序列化的对象,并将JSON表示形式作为字符串返回。
JSON.stringify() -> Object To String.
JSON.parse(string) -接受格式良好的JSON字符串并返回相应的JavaScript对象。
JSON.parse() -> String To Object.
解释:
JSON。stringify(obj[,转换器[,空间]]);
Replacer/Space -可选或接受整数值,也可以调用整型返回函数。
function replacer(key, value) {
if (typeof value === 'number' && !isFinite(value)) {
return String(value);
}
return value;
}
用于将非有限的no替换为null。
使用空格缩进Json字符串
解析字符串(以JSON格式编写)并返回一个JavaScript对象
var obj = JSON.parse('{"firstName":"John", "lastName":"Doe"}');
Stringify一个JavaScript对象:
var obj = { "name":"John", "age":30, "city":"New York"};
var myJSON = JSON.stringify(obj);
当客户端(例如浏览器向客户端发送数据或从客户端获取数据)需要发送一个字符串。你不能发送数据
JavaScript对象。
当JavaSript数据以字符串的形式到达客户端时,我们需要将字符串转换回对象,以便进行处理
在客户端以一种方便的方式。