【发布时间】:2019-10-14 05:54:24
【问题描述】:
我想把node js中的gson数据改成json数据,有办法吗?
样本数据 gson 像这样
["test","{\"ID\":0}]
【问题讨论】:
我想把node js中的gson数据改成json数据,有办法吗?
样本数据 gson 像这样
["test","{\"ID\":0}]
【问题讨论】:
使用https://www.npmjs.com/package/gson
npm install gson
代码示例:
const GSON= require('gson');
const gsonObj = GSON.decode('["test","{\\"ID\\":0}]');
【讨论】:
你不需要任何特别的东西。您必须首先定义或创建对象的正确格式。您的示例格式不正确,也不是 JSON。然后使用以下命令
console.log(JSON.parse("[{\"brand\":\"Jeep\", \"doors\": 3}, {\"brand\":\"Jeep\", \"doors\": 3}]"));
而且如果你的格式不正确,在转换成 JSON 的时候会遇到这个错误
未定义:1 ["test","{"ID":0}] ^
SyntaxError: JSON 中第 11 位的意外标记 I 在 JSON.parse() 在对象。 (/home/test1.js:24:18) 在 Module._compile (internal/modules/cjs/loader.js:805:30) 在 Object.Module._extensions..js (internal/modules/cjs/loader.js:816:10) 在 Module.load (internal/modules/cjs/loader.js:672:32) 在 tryModuleLoad (internal/modules/cjs/loader.js:612:12) 在 Function.Module._load (internal/modules/cjs/loader.js:604:3) 在 Function.Module.runMain (internal/modules/cjs/loader.js:868:12) 在内部/main/run_main_module.js:21:11
【讨论】:
那是 JSON 字符串吗?我没有看到第一个和最后一个反引号。 如果是,您只需将其转换为 JSON 对象,例如:
let jsonString = `
{
"name": "John Doe",
"age": 25,
"tag": ["javascript", "express", "nuxt"]
}
`
let jsonObj = JSON.parse(jsonString)
console.log(jsonObj)
【讨论】: