将js对象转换为json或者js对象是否恰好是JSON是可行的吗?有人能告诉我JSON究竟是什么吗?
答案 0 :(得分:12)
从字面上看,JSON是一种更严格的格式,基本上是Javascript变量赋值的右侧。它是基于文本的Javascript数据编码:
var foo = ...json goes here ...;
JSON可以是 ANY 有效的Javascript数据结构。布尔值,int,字符串,甚至是数组和对象。 JSON ISN' T 是一种通用的序列化格式。像这样的东西
var foo = new Date();
json = JSON.stringify(foo); // json gets the string "2016-08-26 etc..."
newfoo = JSON.parse(json); // newfoo is now a string, NOT a "Date" object.
不起作用。 Date对象将被序列化为JSON字符串,但反序列化字符串不会再次为您提供Date
对象。它只是一个字符串。
JSON只能代表DATA,而不能代表CODE。这包括表达式
var foo = 2; // "2" is valid json
var foo = 1+1; // invalid - json does not have expressions.
var foo = {"bar":["baz"]}; // also valid JSON
var foo = [1,2,3+4]; // fails - 3+4 is an expression
答案 1 :(得分:-1)
要将JS数据对象转换为JSON,可以使用JSON.stringify()
Exmaple
输入: -
var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
JSON.stringify(person)
输出:
"{"firstName":"John","lastName":"Doe","age":50,"eyeColor":"blue"}"