json学习笔记(二)

JSON对象转换

开头声明:

JavaScript对象 分内置对象(Number,String,Array,Date,Math)和自定义对象 
JSON就是自定义对象,只不过是以JSON这样的数据组织方式表达出来 
所以不存在JSON对象与JavaScript对象的转换问题。

eg:

字符串转为JSON对象

通过字符串拼接得到一个JSON结构的字符串,并不是一个JSON对象。 需要通过eval转换得到
转换的时候注意,eval 函数要以( 开头,)结尾
或者使用JQuery的$.parseJSON转换函数

<script>

var s1 = "{"name":"盖伦"";   <%--反斜杠是转义字符,因为双引号里面不能套双引号,用转义字符就可以了!--%>
var s2 = ","hp":616}";
var s3 = s1+s2;

document.write("这是一个JSON格式的字符串:" + s3);
document.write("<br>");
var gareen = eval("("+s3+")");

document.write("这是一个JSON对象: " + gareen);

</script>

效果:

这是一个JSON格式的字符串:{"name":"盖伦","hp":616}
这是一个JSON对象: [object Object]

JSON 对象转换为字符串

eg:json 对象因为是一个javascript对象,所以如果直接打印的话,看不到里面的内容。
有时候要看看这个对象是不是我们期望的,所以需要通过 JSON.stringify 函数把它转换为 字符串

<script>
var hero = {"name":"盖伦","hp":"616"};
document.write("这是一个json 对象:"+ hero);
document.write("<br>");
var heroString = JSON.stringify(hero)
document.write("这是一个json 字符串:"+ heroString );
</script>

效果:

这是一个json 对象:[object Object]
这是一个json 字符串:{"name":"盖伦","hp":"616"}

原文地址:https://www.cnblogs.com/apex-wzw/p/10582749.html