F[嗶][嗶]k JSON
解析非正常 JSON 字符串的一个包。
安装
$ npm install fbbk-json
使用
这个包只有一个函数:
var fJSON = require("fbbk-json");
fJSON.parse(A_JSON_STRING);
但是
这个包支持如下的 JSON 字符串(即在 javascript 中我们通常申明的样子,没有引号)。
举个栗子
'{"foo": "bar","baz": true}' <-- JSON 和 fJSON 都支持
'{foo: "bar",baz: true}' <-- 只有 fJSON 支持! ٩(๑•̀ω•́๑)۶
所以你可以:
var json1 = '{"foo": "bar","baz": true}';
var json2 = '{foo: "bar",baz: true,c:[]}';
JSON.parse(json1); ///< { foo: 'bar', baz: true }
JSON.parse(json2); ///< SyntaxError: Unexpected token f
fJSON.parse(json1); ///< { foo: 'bar', baz: true }
fJSON.parse(json2); ///< { foo: 'bar', baz: true, c: [] } \(●´ϖ`●)/
仓库地址
https://github.com/XadillaX/fbibik-json---------------------------------------
之前有人在微博中说了下用 new Function() 把 JSON 字符串嵌进去的做法,并且 jQuery 也是这么做的。
但是这不适合于服务端。
回复@
magicdawn:jQuery 数据是自身传过去的,后台给前台的数据通常是安全的,而且本身就是前端执行,就算不安全跟服务端无关。但是在服务端的话,数据一般是前面传过来的,你不能保证安全性,万一一段恶意代码在服务端执行了,你懂的。 //@magicdawn:jQuery就是这样干的...
http://t.cn/R7czvF2
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/140693
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.