2017-06-13 174 views
0

我试图转换危险的数组(类,我创建)JSON的阵列,从JSON转换为对象

这是我的代码:

$.ajax({ 
    async: true, 
    url: web + "/GetHazards", 
    method: "POST", 
    contentType: "application/json", 
    success: function (data) { 
     var res = data.d; 
     var i; 
     alert(res[0]); 

返回的数据像这样的:

"[{\"Hazard_ID\":3014,\"Hazard_Lat\":32.2615929,\"Hazard_Long\":35.01423},{\"Hazard_ID\":3013,\"Hazard_Lat\":32.3426857,\"Hazard_Long\":34.9103165},{\"Hazard_ID\":3012,\"Hazard_Lat\":32.3426857 

我的服务器端代码返回,我需要正确的价值观,但问题是,当我提醒RES [I]它表现得像资源是一个字符串,并提醒我“[”

什么,我需要得到的是 {\ “Hazard_ID”:3014,\ “Hazard_Lat \”:32.2615929,\ “Hazard_Long \”:35.01423}

我不知道这是否介意这是我的服务器端代码的方式:

{ 
    List<Returned_Hazard> rh = new List<Returned_Hazard>(); 
    JavaScriptSerializer json = new JavaScriptSerializer(); 
    . 
    . 
    . 
    while (reader.Read()) 
    { 
     Returned_Hazard RH = new Returned_Hazard(
      int.Parse(reader[0].ToString()), 
      float.Parse(reader[1].ToString()), 
      float.Parse(reader[2].ToString()) 
     ); 
     rh.Add(RH); 
    } 
    command.Connection.Close(); 
    return json.Serialize(rh); 
} 
+0

'data = JSON.parse(data)' – Weedoze

+0

'JSON.parse(res)'< - 将JSON转换为JS'Object' – Arg0n

+0

未捕获的SyntaxError:JSON在位置1的意外标记o at JSON.parse ),我试过 –

回答

3

您需要解析JSON,使用JSON.parse

var data = { d: "[{\"Hazard_ID\":3014,\"Hazard_Lat\":32.2615929,\"Hazard_Long\":35.01423},{\"Hazard_ID\":3013,\"Hazard_Lat\":32.3426857,\"Hazard_Long\":34.9103165}]" 
 
}; 
 

 
var res = JSON.parse(data.d); 
 
console.log(res[0].Hazard_ID); //3014

+0

一会儿我会试试 –

+0

不错,非常感谢bro –

+0

@كرمحاجيحيى没问题,请upvote和标记为答案,如果这有帮助。 – Arg0n