繁体   English   中英

json数据解析问题

[英]Issue with json data parsing

我有以下数据:

{
  "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
}

我想获得两个新变量。

  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. 距离“ StatusCode”仅200

我该如何实施?

使用json解析时出现下一个错误:

未捕获到的SyntaxError:JSON中位置1处的意外令牌o

只需定义一个变量并使用点表示法即可访问“结果”和“ 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); 

您不需要解析您的json,因为已经是jsonObject。 尝试解析它JSON.parse(jsonString) ,然后获取值,您将发现所拥有的错误

首先为您的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