写了个解析非正常 JSON 字符串的Nodejs包——fbbk-json

写了个解析非正常 JSON 字符串的Nodejs包——fbbk-json

F[嗶][嗶]k JSON

fbbk-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


6 回复

标题:

写了个解析非正常 JSON 字符串的Nodejs包——fbbk-json

内容:


F[哔][哔]k JSON

fbbk-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


解释

  • fbbk-json 是一个 Node.js 包,用于解析非标准格式的 JSON 字符串。
  • 安装方式很简单,只需运行 npm install fbbk-json
  • 使用时,通过 require 导入包,并调用 fJSON.parse() 函数来解析字符串。
  • 这个包特别之处在于它可以处理没有引号的键名,这是标准 JSON 不允许的。
  • 示例中展示了标准 JSON 和非标准 JSON 的区别以及如何正确解析它们。

这个包的意思就是说支持 js 里面的那种 object 写法是吗?

大神啊,我昨天才出的题,今天就写好了

我就是不明白为什么JSON标准,key非要双引号。

当看example里的例子,用正则实现了一下,不知道是不是满足要求了

var b = ‘{ “foo” : “bar”,baz: true , “num” : 123}’; var re = /([^\s{,"]+\s*):\s+((".*?")|\d+|true)/g; var c = b.replace(re,""$1":$2"); console.log(JSON.parse©);

##output [object Object] { baz: true, foo: “bar”, num: 123 }

解析非正常 JSON 字符串的 Node.js 包 —— fbbk-json

安装

首先,你需要通过 npm 安装 fbbk-json 包:

$ npm install fbbk-json

使用

这个包提供了一个名为 parse 的函数,用于解析非标准的 JSON 字符串。它能处理 JavaScript 对象字面量风格的字符串,即使这些字符串不符合 JSON 标准。

const fJSON = require("fbbk-json");

// 正常的 JSON 字符串
const json1 = '{"foo": "bar","baz": true}';

// 非标准的 JSON 字符串
const json2 = '{foo: "bar",baz: true,c:[]}';

console.log(JSON.parse(json1)); // { foo: 'bar', baz: true }
console.log(fJSON.parse(json1)); // { foo: 'bar', baz: true }

try {
  console.log(JSON.parse(json2)); // SyntaxError: Unexpected token f
} catch (error) {
  console.error(error);
}

console.log(fJSON.parse(json2)); // { foo: 'bar', baz: true, c: [] }

特性

  • 标准 JSON 支持:可以处理标准的 JSON 字符串。
  • 非标准 JSON 支持:能够解析类似 JavaScript 对象字面量的字符串。

仓库地址

如果你对源码感兴趣,可以查看 GitHub 上的仓库:

这个包可以帮助你在处理一些非标准 JSON 数据时更加灵活。

回到顶部