JavaScript中JSON规则及JSON.parse()、JSON.stringify()方法介绍
json
适用于现代 C++ 的 JSON。
项目地址:https://gitcode.com/gh_mirrors/js/json
免费下载资源
·
JSON(JavaScript Object Notation) 是一种通用数据(前端和后端)。一种轻量级的数据交换格式,易于人们阅读和编写,同时也易于解析和生成,跟任何编程语言都无关。
JSON的表示是扩展名为:.json的文件
1、JSON的使用规则有下面几点:
1 - 必须是字符
2 - 基础格式参考js中的对象(array和object)
3 - 对象格式的key部分必须放在双引号中,单引号都不行
4 - 不允许出现没有意义的逗号
5 - 不允许出现函数,undefined,NaN,可以出现null
6 - 不允许出现单引号
举例如下(n:no; y:yes):
var json = {"name":"admin","age":18}; // n,违反了1
var json = "{'name':'admin'}"; // n,违反了3
var json = "['hello',123,true]"; // n,违反了6
var json = `["hello",123,true]`; // y
var json = '{"name":"admin"}'; // y
var json = '{"name":"admin",}'; // n,违反了4
var json = '{"name":"admin","show":undefined}'; // n,违反了5
var json = '[{"name":"admin"},{"name":"zhangsan"},]'; // n,违反了4
var json = '[{"name":"admin"},{"name":"zhangsan"}]'; // y
注意: json文件自身的所有内容,默认就是字符,所以,在json文件中只需要严格符合2,3,4,5即可。
2、JSON.parse()方法:
该方法用于将一个 JSON 字符串转换为对象。
语法:
JSON.parse(value[, value1])
// value:必需有, 且是一个有效的 JSON 字符串。
// value1:可选,一个转换结果的函数, 将为对象的每个成员调用此函数。
示例代码:
var str = '{"1": 1, "2": 2}';
str1 = JSON.parse(str);
console.log(typeof str); // string
console.log(typeof str1); // object
console.log(str1);
结果:
3、JSON.stringify()方法:
该方法用于将一个对象转换为 JSON 字符串。
语法:
JSON.stringify(value1[, value2[, value3]]);
// value1:必需存在,表示要转换的 JS的值(通常为对象或数组)
// value2:可选。用于转换结果的函数或数组
// value3:可选。文本添加缩进、空格和换行符
注意:
如果 value2为函数,则 JSON.stringify将调用该函数,并传入每个成员的键和值。使用返回值而不是原始值。如果此函数返回undefined,则排除成员。根对象的键是一个空字符串:""。 如果 replacer是一个数组,则仅转换该数组中具有键值的成员。成员的转换顺序与键在数组中的顺序一样。
如果 value3是一个数字,则返回值文本在每个级别缩进指定数目的空格,如果 value3大于 10,则文本缩进 10个空格。value3也可以使用非数字,如:\t\n等。
示例代码:
var str = {"name":"张三", age:18}
str1 = JSON.stringify(str);
console.log(str); // object
console.log(str1); // string
结果:
GitHub 加速计划 / js / json
18
5
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:3 个月前 )
2134cb94
* change NLOHMANN_JSON_FROM_WITH_DEFAULT to let NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT work with an empty JSON instance
* fix ci_static_analysis_clang (ci_clang_tidy)
* change NLOHMANN_JSON_FROM_WITH_DEFAULT to let NLOHMANN_DEFINE_TYPE_INTRUSIVE_WITH_DEFAULT work with an empty JSON instance 6 天前
6057b31d
* :wrench: overwork astyle call
* :wrench: overwork astyle call
* :wrench: overwork astyle call
* :wrench: overwork astyle call
* :wrench: overwork astyle call
* :wrench: overwork astyle call
* :wrench: overwork astyle call
* :wrench: overwork astyle call
* :wrench: overwork astyle call
* :wrench: overwork astyle call
* :wrench: overwork astyle call
* Use ubuntu-latest image to run Valgrind (#4575)
* :wrench: use Clang image to run valgrind
* :wrench: use Clang image to run valgrind
* :wrench: use Clang image to run valgrind
* :wrench: use Ubuntu image to run valgrind
* Use Clang image to run iwyu (#4574)
* :wrench: use Clang image to run iwyu
* :wrench: use Clang image to run iwyu
* :wrench: overwork astyle call
* :wrench: overwork astyle call
* :wrench: overwork astyle call
* :wrench: overwork astyle call
* :wrench: overwork astyle call
* :wrench: overwork astyle call
* :wrench: overwork astyle call
* :wrench: overwork astyle call
* :wrench: overwork astyle call
* :wrench: overwork astyle call
* :wrench: overwork astyle call
* :art: format code
* :hammer: clean up 8 天前
更多推荐
已为社区贡献8条内容
所有评论(0)