javascript - 有没有一种快速的方法可以在文本编辑器中将 JavaScript 对象转换为有效的 JSON?

标签 javascript json text-editor

我有一个很大的旧配置对象。比如:

var object = {
  item1: 'value1',
  item2: 1000,
  item3: ['a', 'b', 'c'],
  item4: [1, 2, 3],
  item5: {
    foo: 'bar'
  }
};

... 等等。我想将它重写为有效的 JSON,以便它可以通过 intertubes,但我不想通过我的文件中的每一行手动添加双引号。当然,我不介意手动将整个内容放在括号中并将初始分配更改为第一个属性,但除此之外,我希望有一些资源可以完成繁重的工作。

无论如何,如果知道 TextMate 命令、正则表达式技巧、在线转换器、友好机器人或其他任何可以让这不那么乏味的东西,请帮助我。

最佳答案

  1. 启动 Firefox/Chrome/Safari
  2. 打开 Firebug/开发者工具
  3. 将您的代码复制/粘贴到控制台中。
  4. 然后输入 console.log(JSON.stringify(object)) 瞧!

    {"item1":"value1","item2":1000,"item3":["a","b","c"],
     "item4":[1,2,3],"item5":{"foo":"bar"}}
    
  5. 复制/粘贴回您的文本编辑器。

为了更好地控制格式,我有一个免费的在线网页:

http://phrogz.net/JS/NeatJSON

让您可以将 JSON 或 JS 值粘贴到一个框中,并在底部查看 JSON,并带有许多旋钮和 slider 来调整其外观。例如 JS 值 ["foo","bar",{dogs:42,piggies:0,cats:7},{jimmy:[1,2,3,4,5],jammy:3.14159265358979 ,hot:"pajammy"}] 可以像以下任何一种格式(以及更多格式):

[
    "foo",                            <- adjustable indentation
    "bar",
    {"dogs":42,"piggies":0,"cats":7}, <- small objects on one line!
    {
        "jimmy":[1,2,3,4,5],          <- small arrays on one line!
        "jammy":3.142,                <- decimal precision!
        "hot":"pajammy"
    }
]
[
  "foo",
  "bar",
  { "cats":7, "dogs":42, "piggies":0 }, <- spaces inside braces!
  {
    "hot":"pajammy",                    <- sort object keys!
    "jammy":3.14159265358979,
    "jimmy":[ 1, 2, 3, 4, 5 ]           <- spaces after commas!
  }
]
[ "foo",                           <- 'short' format puts first value
  "bar",                           <- on same line as opening bracket...
  { "dogs"    : 42,
    "piggies" : 0,                 
    "cats"    : 7 },               <- ...and close bracket with last value!
  { "jimmy" : [ 1, 2, 3, 4, 5 ],
    "jammy" : 3.14159265358979,    <- spaces around colons!
    "hot"   : "pajammy" } ]        <- align object values!

Screenshot of NeatJSON webpage

关于javascript - 有没有一种快速的方法可以在文本编辑器中将 JavaScript 对象转换为有效的 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5810635/

相关文章:

javascript - 错误对象, native 和自定义,如何区分?

css - CKEditor 5 更改宽度

visual-studio-code - 如何在 VS Code 中隐藏任意代码段?

javascript - MongoDB 中的通配符搜索

ios - 在Swift中将复杂的JSON保存到核心数据

java - 如何使用 JFileChooser.showSaveDialog 保存文件?

javascript - JQuery 检查用户是否在文本区域内输入了特定的字母或单词

javascript - 滚动不透明度转移到目标元素和从目标元素转移

javascript - Angular 使用可观察的完整与下一个处理程序以及何时适本地使用每个处理程序

javascript - d3.js map 上的跳动标记点