【问题标题】:Split object in Node.js在 Node.js 中拆分对象
【发布时间】:2017-05-31 14:58:12
【问题描述】:

昨天我解决了我用“\”拆分字符串的问题,但今天我遇到了同样的问题,但是有一个对象......

2|wscontro | [2017-05-31 15:57:23.145] - debug: /opt/wscontroller/wscontroller-api/routes/ubus UbusController 63320169-611e-43f5-880e-9b1a13152cfd getDeviceServicesById signature {"config":"wireless","section":"radio0","values":"{\"disabled\":0}"}
2|wscontro | [2017-05-31 15:57:23.145] - debug: /opt/wscontroller/wscontroller-api/routes/ubus UbusController 63320169-611e-43f5-880e-9b1a13152cfd getDeviceServicesById signature "object"

我只需要签名 => {"config":"wireless","section":"radio0","values":{"disabled":0"}}

谁能帮助我?我尝试将此对象转换为字符串并拆分

var aux = signature.split('\\').join('');
var jsonObject = JSON.parse(aux);

但我得到相同的结果 {"config":"wireless","section":"radio0","values":"{\"disabled\":0"}}

我的最后一个帖子:Split string by "\" Node.js

有人可以帮忙吗?

【问题讨论】:

  • {"config":"wireless","section":"radio0","values":"{\"disabled\":0"} 不是正确的 json
  • 我的错,我的对象是 {"config":"wireless","section":"radio0","values":"{\"disabled\":0}"}
  • Catia:您对答案的最后评论是,您真正的问题是您的变量似乎是 [Object Object]。您能否在这个问题中发表评论,并解释如何将 json 字符串放入 signature 变量中。

标签: javascript node.js object split


【解决方案1】:

这是你想要的吗?

var str =' {"config":"wireless","section":"radio0","values":"{\"disabled\":0"}';

console.log(str.replace(/\\/g,''));

【讨论】:

  • 这将产生 {"config":"wireless","section":"radio0","values":"{"disabled":0"} 什么是不正确的 json。你在最后一个“之前缺少 }”
  • 重点是签名是一个对象。我试着做 var str = signature.toString().replace(/\\/g,'');当我 console.log 我有 "\"[object Object]\""
【解决方案2】:

您的对象应该像您在上一条评论中所说的那样 {"config":"wireless","section":"radio0","values":"{\"disable‌​d\":0}"} 然后:

var jsonstring = "{"config":"wireless","section":"radio0","values":"{\"disable‌​d\":0}"}";
var escapedJsonstring = jsonstring.split('\\').join('');
var json = JSON.parse(escapedJsonstring);
json.parsedValues = JSON.parse(json.values);
console.log(json);

你终于解析了 json 变量中的对象。主要思想是 values 属性也有字符串值而不是对象值。因此,您需要将其再次解析为 JSON。此解析的结果存储在 json.parsedValues 中,但您可以使用以下方法用对象重写值字符串:json.values = JSON.parse(json.values);

【讨论】:

    猜你喜欢
    • 2017-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-17
    • 1970-01-01
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多