【发布时间】:2020-05-27 02:56:27
【问题描述】:
我的 responseJson 是这样的
const responseJson = [
{
device_id: "arena-FnVq4HTwtBg6JqqBxWBB7W",
timestamp: "2020-02-10T20:52:00.000Z",
data: "{"type": "DATA", "unitID": "arena-FnVq4HTwtBg6JqqBxWBB7W",
"version": "1.0.0",
"voltage": [130.0222, 129.9743, 129.9567, 129.9853, 130.0043, 130.0257, 130.067,
130.1005, 130.0698, 130.1056],
"frequency": [60.0005, 60.0001, 59.9984, 59.9999, 59.9992, 59.9971, 59.9977,
59.9979, 59.999, 59.9985],
"timestamp": 1581367920000,
"phaseAngle": [2.5766, 2.5769, 2.5768, 2.5761, 2.5754, 2.574, 2.5718, 2.5706,
2.569, 2.5677]}"
}
]
我的data 是一个字符串而不是一个对象。我怎样才能解析我的数据来得到这个
const responseJson = [
{
device_id: "arena-FnVq4HTwtBg6JqqBxWBB7W",
timestamp: "2020-02-10T20:52:00.000Z",
data: {"type": "DATA", "unitID": "arena-FnVq4HTwtBg6JqqBxWBB7W",
"version": "1.0.0",
"voltage": [130.0222, 129.9743, 129.9567, 129.9853, 130.0043, 130.0257, 130.067,
130.1005, 130.0698, 130.1056],
"frequency": [60.0005, 60.0001, 59.9984, 59.9999, 59.9992, 59.9971, 59.9977,
59.9979, 59.999, 59.9985],
"timestamp": 1581367920000,
"phaseAngle": [2.5766, 2.5769, 2.5768, 2.5761, 2.5754, 2.574, 2.5718, 2.5706,
2.569, 2.5677]}
}
]
我试过 JSON.parse 但没有帮助
这是我在 console.log 时得到的
console.log(responseJson.data) 抛出 undefined
console.log(JSON.parse(responseJson.data)) 抛出C:\Users\aravi\Desktop\React\Reactnative\BrixonApplication_App\node_modules\react-native\Libraries\Core\ExceptionsManager.js:94 SyntaxError: Unexpected token u in JSON at position 0
【问题讨论】:
-
这能回答你的问题吗? Convert JS object to JSON string
-
看起来服务于 JSON 的任何东西都在对数据属性进行编码,然后再次对整个对象进行编码。修复那个服务器端。
-
如果你的第一个sn-p代码真的是这样,那么你的
responseJson是无效的,应该抛出错误,因为data的值有语法错误 -
您需要将此
JSON.parse(responseJson[0].data)分配给数据。如果您有多个对象,则需要循环。 -
内部双引号应转义或应为单引号以使其有效 json
标签: javascript json parsing