how2j.cn

示例 1 : JSON对象与JavaScript对象   
示例 2 : 字符串转为JSON对象   
示例 3 : JSON 对象转换为字符串   

示例 1 :

JSON对象与JavaScript对象

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

字符串转为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>
<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>


源代码
1. 双击选中单词 2. 三击选中整行 3. CTRL+F 查找 4. F8 全屏编辑,再次点击恢复
渲染中 渲染完成
效果
示例 3 :

JSON 对象转换为字符串

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


源代码
1. 双击选中单词 2. 三击选中整行 3. CTRL+F 查找 4. F8 全屏编辑,再次点击恢复
渲染中 渲染完成
效果


HOW2J公众号,关注后实时获知布最新的教程和优惠活动,谢谢。


问答区域    
2018-11-12 字符串拼接的代码格式 这里站长大大能说一下吗 没看懂反斜杠是怎么包裹对象的
王小二
var s1 = "{\"name\":\"盖伦\""; var s2 = ",\"hp\":616}";








答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到




2017-12-08 这个JS解析为什么不用JSON.parse()呢?
流云剑
我看到W3上面不推荐用eval(),因为能解析运行其他代码,有安全风险。 而且解析JSON还要用在括号里面加括号包裹字符串,看起来也很奇怪。




2 个答案

流云剑 答案时间:2017-12-10
JS现在自带了个JSON.parse(),我说的不是jQuery的.parseJSON()。

how2j 答案时间:2017-12-08
因为按照教程的学习顺序,现在还没有开始讲JQuery。 在JQuery里自然有对json的操作讲解了哦




答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到




2017-11-05 java的json和js的json有什么区别
2017-09-14 var s1 = "{\"name\":\"盖伦\"";加\的意义何在
2017-08-26 为什么eval()里的参数要加"("和")"




提问之前请登陆
关于 前端部分-JSON-对象转换 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 902680467
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
在已经存在的几千个提问里,有相当大的比例,是因为使用了和站长不同版本的开发环境导致的,比如 jdk, eclpise, idea, mysql,tomcat 等等软件的版本不一致。
请使用和站长一样的版本,可以节约自己大量的学习时间。 站长把教学中用的软件版本整理了,都统一放在了这里, 方便大家下载: http://how2j.cn/k/helloworld/helloworld-version/1718.html

上传截图