解析包含Json字符串的JSON对象

纳德姆

我想解析一个包含一些值的JSON对象作为字符串的json,请注意,我以前不知道这些字段,所以我不能做类似的事情obj[key]=JSON.parse(obj[key])我正在寻找一种简单的方法来做到这一点,

obj={
  Name:"{\"FirstName\":\"Douglas\",\"LastName\":\"Crockford\"}"
}

我想得到

{
  Name:{
      FirstName:"Douglas",
      LastName:"Crockford"
      }
}
用户名

我们将编写一个方便的小工具,该工具将函数映射到对象属性上:

function mapObject(obj, fn) {
  const result = {};
  for (const prop in obj) result[prop] = fn(obj[prop], prop);
  return result;
}

现在,您可以创建一个包含输入中所有JSON值的对象,只需说

mapObject(obj, JSON.parse)

如果要防止无效的JSON属性值,则

function parseJSON(x) {
  try { return JSON.parse(x); }
  catch (e) { return x; }
}

然后

mapObject(obj, parseJSON)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章