簡體   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