【问题标题】:NodeJs add character after some series of stringsNodeJs 在一系列字符串之后添加字符
【发布时间】:2016-08-14 13:33:34
【问题描述】:

我会得到json数据为

{
 "url": "some url",
 "name": "name"
}
{
 "url": "some url1",
 "name": "name1"
}

我想在节点 js 中的每个对象之后添加 ','

【问题讨论】:

  • 这是您得到的确切响应吗?这不是一个有效的 json 字符串!
  • 我没有得到它作为 json 这是我的问题我想在每个对象的末尾添加“,”@Vohuman
  • 那你为什么写“我会得到json数据...”?发布您得到的确切结构。这是对 ajax 请求的响应吗?
  • 但如果它不是有效的 JSON 语法,那么它就不是 JAVASCRIPT 对象!它只是一个普通的旧字符串。当然,您可以使用标准的 Javascript 字符串函数修改字符串,例如 String.replace() 和 Javascript regex

标签: javascript json node.js


【解决方案1】:

我建议添加如下内容:

var json = ''; // the JSON var here
var all  = [];

    all.push(JSON.stringify(json));

var json2 = '';

    all.push(JSON.stringify(json2));

// you get the gist ..

// then, lets join them all and then turn them back into json..

var together = '[' + all.join(',') + ']';
var finalJSON = JSON.parse(together);

当然,您可能会使用for 循环来遍历所有JSON,但以上是大致思路。

【讨论】:

    【解决方案2】:

    “我将获取 json 数据为...”

    “我想在节点 js 中的每个对象之后添加 ','...” 任何有效的 Javascript 选项,并且您不能将“,”添加到对象,即使您有一个!!!

    这是一个对象 - 一个数组对象,有两个项目:

    示例(Javascript/JSON 数组):

    [
      {
       "url": "some url",
       "name": "name"
      },
      {
       "url": "some url1",
       "name": "name1"
      }
    ]
    

    建议:

    我是http://jsoneditoronline.org- 的忠实粉丝,我相信你会发现它对你有帮助!

    【讨论】:

    • 我认为 OP 旨在将 JSON-ish 字符串转换为 JSON,其中一个关键(但不仅是,正如您指出的那样)步骤是插入逗号。
    【解决方案3】:

    您可以通过简单地使用带有正则表达式的替换方法来获得您正在寻找的结果。所以您的代码将如下所示:

    json.replace(/}/g, '},'); // replace all `}` with `},`
    

    json 变量显然是您的 JSON 字符串。

    希望对你有帮助。

    【讨论】:

      【解决方案4】:

      我想我理解 OP 的意思是输入是一个字符串。要在大括号之间插入逗号,请使用替换:

      var withCommas = string.replace(new RegExp('}\s*{'), '},{');
      

      【讨论】:

        猜你喜欢
        • 2017-09-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-01-19
        • 1970-01-01
        • 1970-01-01
        • 2020-12-21
        相关资源
        最近更新 更多