javascript - 如何将任意 json 中的所有值(仅值)连接成 Javascript 中的单个字符串

标签 javascript json

在 javascript 中,给定任意 json 字符串作为输入,我想创建一个字符串,其中仅包含来自输​​入表示的 json 的 的串联字符串。例如:

json = '{ "x": "some text", "y" : [3, "more text", {"z": 7}]}';
concatFunc(json) // should return "some text3more text7"

我希望有一些我不知道的不错的 Javascript 特性或函数可以让我轻松地做到这一点 - 无论是在 json 字符串本身上还是通过执行 JSON.parse() 然后“展平”javascript某种数据结构?

最佳答案

咨询了MDN docs在 JSON.parse() 上,我注意到 reviver 回调参数,它会为每个被解析的值调用!这可用于构建字符串:

function concatFunc(json) {
  let txt = "";
  JSON.parse(json, (key,val) => {
    if (typeof val !== "object")
      txt = txt + val.toString();
  });
  return txt;
}

exampleJSON = '{ "x": "some text", "y" : [3, "more text", {"z": 7}]}';
console.log(concatFunc(exampleJSON));
    

输出:“some text3more text7”

关于javascript - 如何将任意 json 中的所有值(仅值)连接成 Javascript 中的单个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54139969/

相关文章:

javascript - 如何在Flash CS5.5 Actionscript 3.0中创建警报弹出窗口?

javascript - 循环并显示来自 html 数据属性的 javascript 数组内容

ios - 使用 swift 3 解码字符串

c# - 在 C# 中从 JSON 中获取嵌套数据

ruby-on-rails - `method_missing':#<Rails::Engine::Configuration:0x9d6a6d8> 的未定义方法 `assets' (NoMethodError)

javascript - D3折线图JSON解析

javascript - Node.js:如何防止两个回调同时运行?

c# - 使用正则表达式删除整个 Html 中的空格,但在 pre 内部

php - 在 Javascript 中循环遍历 php

javascript - 将包含数组数组的字符串转换为 JSON 对象