有人可以帮我解决这个json {“ event”:“ update”,“ data”:“ {\” asks \“:[[\” 55.5 \“,\” 5.3744 \“],[\” 55.74 \“,\” 0.8087 \“]]}},如何解析json 55.5和5.3744中的值。我将不胜感激。
答案 0 :(得分:1)
您的JSON无效,无法解析。
我假设您的data
是JSON字符串中的JSON字符串,应该在解析了主要JSON字符串之后对其进行解析。这并不是真正有效,您应该首先考虑不对data
值进行字符串化。
您的JSON应该如下所示:
{"event":"update","data":{"asks":[["55.5","5.3744"],["55.74","0.8087"]]}}
或者:
{\"event\":\"update\",\"data\":{\"asks\":[[\"55.5\",\"5.3744\"],[\"55.74\",\"0.8087\"]]}}
在JavaScript中:
const json = '{"event":"update","data":{"asks":[["55.5","5.3744"],["55.74","0.8087"]]}}';
const obj = JSON.parse(json);
const val1 = obj.data.asks[0][0];
const val2 = obj.data.asks[0][1];
如果必须将data
作为JSON编码的字符串,请对其进行正确编码。如果您想知道在这种情况下JSON字符串的外观,请向后工作:
const dataString = JSON.stringify({
asks: [
["55.5", "5.3744"],
["55.74","0.8087"]
]
});
const jsonString = JSON.stringify({
event: "update",
data: dataString
});
// {\"event\":\"update\",\"data\":\"{\\\"asks\\\":[[\\\"55.5\\\",\\\"5.3744\\\"],[\\\"55.74\\\",\\\"0.8087\\\"]]}\"}
// And back again...
const asks = JSON.parse(
JSON.parse(jsonString).data
).asks;
const val1 = asks[0][0];
const val2 = asks[0][1];