编辑“︁
JSON
”︁(章节)
跳转到导航
跳转到搜索
Template:Editnotice load/content
警告:
您没有登录。如果您进行任何编辑,您的IP地址会公开展示。如果您
登录
或
创建账号
,您的编辑会以您的用户名署名,此外还有其他益处。
反垃圾检查。
不要
加入这个!
=== 读取JSON === 由於JSON是[[JavaScript]]的子集,所以一般都會使用<code>eval()</code>作為讀取資料的方式,如果是针对可靠的数据来源,在不支持原生JSON解析的浏览器上面这是最快速的方法。然而由于eval方法同样可以执行任意的JavaScript代码,因此当数据来源不可靠时则可能产生安全问题。如下面的例子,直接用eval执行时会跳转: <syntaxhighlight lang="javascript"> var json= eval("{message:(function (){ window.location='http://zh.wikipedia.org/wiki/JSON#.E5.AE.89.E5.85.A8.E6.80.A7.E5.95.8F.E9.A1.8C'; })()}"); </syntaxhighlight> 其中一種防止不安全程式碼出現的解決辦法,是通过浏览器原生支持的<code>JSON.parse(str)</code>方法讀取JSON資料,目前已经得到大部分主流浏览器的支持(IE8+,Firefox 3.5+,Chrome4+/Safari4+,Opera10+),在不支持原生JSON对象的浏览器上面可以使用<code>parseJSON</code>方法进行读取<ref>{{cite web|url=http://yuiblog.com/blog/2007/04/10/json-and-browser-security/|title=JSON and Browser Security|publisher=|access-date=2007-07-14|archive-date=2020-07-16|archive-url=https://web.archive.org/web/20200716190219/https://yuiblog.com/blog/2007/04/10/json-and-browser-security/}}</ref>,<code>parseJSON</code>採用解析器驗證讀入的程式碼是否真的是JSON程式碼,這樣就更安全。但由於這是用模-{}-擬的方式讀取,速度上會比<code>eval()</code>慢。
摘要:
请注意,所有对Local Chinese Wikipedia的贡献均可能会被其他贡献者编辑、修改或删除。如果您不希望您的文字作品被随意编辑,请不要在此提交。
您同时也向我们承诺,您提交的内容为您自己所创作,或是复制自公共领域或类似自由来源(详情请见
Project:著作权
)。
未经许可,请勿提交受著作权保护的作品!
取消
编辑帮助
(在新窗口中打开)
导航菜单
个人工具
未登录
讨论
贡献
创建账号
登录
命名空间
页面
讨论
大陆简体
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
臺灣正體
查看
阅读
编辑
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息