簡體   English   中英

使用JQuery將JSON對象解析為數組

[英]Parse JSON Object to Array using JQuery

WEB API的結果調用Web API之后,我可以獲取以下JSON格式(Telerik Fiddler的結果)。

[
   {
      "modelEmployeeID": 1,
      "modelFirstName": "Mike",
      "modelLastName": "Tai",
      "modelBirthDate": "1900-01-01T00:00:00",
      "modelPosition": "IT Exec",
      "modelHireDate": "2017-01-01T00:00:00",
      "modelStateID": 1
   },
   {
      "modelEmployeeID": 2,
      "modelFirstName": "Sue",
      "modelLastName": "Yoong",
      "modelBirthDate": "1990-07-16T00:00:00",
      "modelPosition": "IT Manager",
      "modelHireDate": "2017-02-28T00:00:00",
      "modelStateID": 2
   }
]

JQUERY

**And I am calling the API using JQuery with the following method:**

var dbImpl = {
    load: function (loadOptions) {
       return $.getJSON('http://localhost:777/employee/testjson');
    },
};

預期的結果我希望結果具有多個對象數組:(我希望結果標記為“ 1”,當前結果標記為“ 2”)

在此處輸入圖片說明

似乎您期望$.getJSON()同步返回JSON。 它不是那樣工作的,它是異步的(它僅在內部使用Ajax )。 我不確定我知道您的實際需求,但是您肯定會這樣做嗎?

var dbImpl;
$.getJSON('http://localhost:777/employee/testjson', function(result) {
    dbImpl = result;
});

dbImpl就是使用getJSON檢索JSON,然后將其分配給成功函數中的dbImpl 假設數據與您在問題中顯示的數據相同,則dbImpl將看起來像statestest在問題的#1屏幕截圖中所做的一樣。

嘗試Array.map()方法

var statestest = jsonObj.map(item => [item]);

工作演示

 var jsonObj = [ { "modelEmployeeID": 1, "modelFirstName": "Mike", "modelLastName": "Tai", "modelBirthDate": "1900-01-01T00:00:00", "modelPosition": "IT Exec", "modelHireDate": "2017-01-01T00:00:00", "modelStateID": 1 }, { "modelEmployeeID": 2, "modelFirstName": "Sue", "modelLastName": "Yoong", "modelBirthDate": "1990-07-16T00:00:00", "modelPosition": "IT Manager", "modelHireDate": "2017-02-28T00:00:00", "modelStateID": 2 } ]; var statestest = jsonObj.map(item => [item]); console.log("statestest", statestest); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM