2017-06-13 318 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