简体   繁体   English

json数据解析问题

[英]Issue with json data parsing

I have the following data: 我有以下数据:

{
  "Result": "{\"Plot\":{\"Series\":[{\"color\":\"green\",\"title\":\"Temperature Gradient\",\"x_unit\":\"Temperature (°F)\",\"y_unit\":\"Depth (ft)\",\"dashStyle\":\"Solid\",\"lineType\":\"spline\",\"xAxisOnTop\":true,\"x_values\":\"80,90.78,101.56,112.35,123.13,133.91,144.69,155.47,166.26,177.04,199.96,210.63,220\",\"y_values\":\"0,-404.6,-809.2,-1213.8,-1618.4,-2023,-2427.6,-2832.2,-3236.8,-3641.4,-4046,-4502,-4825\"}]},\"OperatingTagResult\":null}",
  "StatusCode": 200
}

And I want to get two new variables. 我想获得两个新变量。

  1. {\\"Plot\\":{\\"Series\\":[{\\"color\\":\\"green\\",\\"title\\":\\"Temperature Gradient\\",\\"x_unit\\":\\"Temperature (°F)\\",\\"y_unit\\":\\"Depth (ft)\\",\\"dashStyle\\":\\"Solid\\",\\"lineType\\":\\"spline\\",\\"xAxisOnTop\\":true,\\"x_values\\":\\"80,90.78,101.56,112.35,123.13,133.91,144.69,155.47,166.26,177.04,199.96,210.63,220\\",\\"y_values\\":\\"0,-404.6,-809.2,-1213.8,-1618.4,-2023,-2427.6,-2832.2,-3236.8,-3641.4,-4046,-4502,-4825\\"}]},\\"OperatingTagResult\\":null}

  2. Just 200 from "StatusCode" 距离“ StatusCode”仅200

How can I implement this? 我该如何实施?

I got next error when use json parse: 使用json解析时出现下一个错误:

Uncaught SyntaxError: Unexpected token o in JSON at position 1 未捕获到的SyntaxError:JSON中位置1处的意外令牌o

Just define a variable and use dot notation to access "Result" and "StatusCode" properties: 只需定义一个变量并使用点表示法即可访问“结果”和“ StatusCode”属性:

var income = {"Result":"{\"Plot\":{\"Series\":[{\"color\":\"green\",\"title\":\"Temperature Gradient\",\"x_unit\":\"Temperature (°F)\",\"y_unit\":\"Depth (ft)\",\"dashStyle\":\"Solid\",\"lineType\":\"spline\",\"xAxisOnTop\":true,\"x_values\":\"80,90.78,101.56,112.35,123.13,133.91,144.69,155.47,166.26,177.04,199.96,210.63,220\",\"y_values\":\"0,-404.6,-809.2,-1213.8,-1618.4,-2023,-2427.6,-2832.2,-3236.8,-3641.4,-4046,-4502,-4825\"}]},\"OperatingTagResult\":null}","StatusCode":200}

var result = income.Result; // {"Plot":{"Series":[{"color":"green", ...
var status = income.StatusCode; // 200

  var jsonOBJ = { "Result": "{\\"Plot\\":{\\"Series\\":[{\\"color\\":\\"green\\",\\"title\\":\\"Temperature Gradient\\",\\"x_unit\\":\\"Temperature (°F)\\",\\"y_unit\\":\\"Depth (ft)\\",\\"dashStyle\\":\\"Solid\\",\\"lineType\\":\\"spline\\",\\"xAxisOnTop\\":true,\\"x_values\\":\\"80,90.78,101.56,112.35,123.13,133.91,144.69,155.47,166.26,177.04,199.96,210.63,220\\",\\"y_values\\":\\"0,-404.6,-809.2,-1213.8,-1618.4,-2023,-2427.6,-2832.2,-3236.8,-3641.4,-4046,-4502,-4825\\"}]},\\"OperatingTagResult\\":null}", "StatusCode": 200 }; console.log(jsonOBJ.Result); console.log(jsonOBJ.StatusCode); 

you don't need to parse your json beacuse is already a jsonObject. 您不需要解析您的json,因为已经是jsonObject。 Try to parse it - JSON.parse(jsonString) and then get the value and you will find the error that you have 尝试解析它JSON.parse(jsonString) ,然后获取值,您将发现所拥有的错误

First define a variable to your json; 首先为您的json定义一个变量;

var Temperature = {"Result":"{\"Plot\":{\"Series\":[{\"color\":\"green\",\"title\":\"Temperature Gradient\",\"x_unit\":\"Temperature (°F)\",\"y_unit\":\"Depth (ft)\",\"dashStyle\":\"Solid\",\"lineType\":\"spline\",\"xAxisOnTop\":true,\"x_values\":\"80,90.78,101.56,112.35,123.13,133.91,144.69,155.47,166.26,177.04,199.96,210.63,220\",\"y_values\":\"0,-404.6,-809.2,-1213.8,-1618.4,-2023,-2427.6,-2832.2,-3236.8,-3641.4,-4046,-4502,-4825\"}]},\"OperatingTagResult\":null}","StatusCode":200}

then call the required filed you are required.

var income = {"Result":"{\"Plot\":{\"Series\":[{\"color\":\"green\",\"title\":\"Temperature Gradient\",\"x_unit\":\"Temperature (°F)\",\"y_unit\":\"Depth (ft)\",\"dashStyle\":\"Solid\",\"lineType\":\"spline\",\"xAxisOnTop\":true,\"x_values\":\"80,90.78,101.56,112.35,123.13,133.91,144.69,155.47,166.26,177.04,199.96,210.63,220\",\"y_values\":\"0,-404.6,-809.2,-1213.8,-1618.4,-2023,-2427.6,-2832.2,-3236.8,-3641.4,-4046,-4502,-4825\"}]},\"OperatingTagResult\":null}","StatusCode":200}

alert(Temperature.Result);
alert(Temperature.StatusCode);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM