how2j.cn


示例 1 : JSON对象与JavaScript对象   
示例 2 : 字符串转为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 全屏编辑,再次点击恢复
渲染中 渲染完成
效果


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


问答区域    
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有什么区别
iloveyou无望



rt
Gson gson=new Gson();
			jsonResult=gson.toJson(checkid);

							


5 个答案

流云剑 答案时间:2017-12-10
GSON、FASTJSON这些都是JSON解析器,和JS还有jQuery的JSON解析器是不同,JSON解析器就是用来把JSON数据解析成对象,或者把对象转换成JSON数据。这东西当然不一样了,如果一样那就没必要重复做了。首先不同语言肯定用不同的,你在java代码里面用json,当然不可能用JS的解析方法来解析。其次,同样语言里面,不同的解析器的功能、解析速度都有区别。 但是JSON格式都是一样。 另外我不知道你所谓反编译是什么意思,是指把对象变成JSON数据?JSON本来就是JS里面的对象,直接传出去就可以,别人就可以解析,本来就不用转换。

iloveyou无望 答案时间:2017-12-10
有很大区别,谷歌出的那个可以反编译

流云剑 答案时间:2017-12-08
gson是谷歌出的一个解析json的库,还有fastjson之类,但json都是一样的标准。

iloveyou无望 答案时间:2017-11-25
@ToohoKing gson是谷歌开发的,里面有很多方法,可以反编译

ToohoKing 答案时间:2017-11-21
没有区别 一样的




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





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




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

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 389538688
站长会在每个工作日早上尽量回答提问(如果有漏掉没有回答的,请进群提醒一下)
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
站长是玻璃心,提问的时候请语气温柔些 kiss~
截止2017-5-19日累计提问 1638个,站长回答了 1546个
截止2017-8-15日累计提问 2788个,站长回答了 2544个

上传截图