簡體   English   中英

Javascript:如何將字符串轉換為對象數組

[英]Javascript: How can I turn a String into an array of objects

我有一個格式如下的字符串:

{"title":"XYZ","id":"123"} {"title":"NPS","id":"124"}{"title":"LMW","id":"125"}

我試圖通過將其存儲在一個變量中並將其拆分為這樣的數組來將其轉換為數組:

let prodInfo = "{"title":"XYZ","id":"123"} {"title":"NPS","id":"124"}{"title":"LMW","id":"125"}";

然后我將這個變量拆分為:

   let infoArry =  prodInfo.split("}");
   console.log(infoArry);

我得到的結果是: 在此處輸入圖片說明

問題是當我遍歷這個數組來分別訪問標題時,我得到它為未定義。

任何建議將不勝感激

鑒於您在問題下的評論中聲明您可以更改輸入字符串格式,我強烈建議您將其轉換為有效的 JSON。 然后您可以簡單地調用JSON.parse()並根據需要處理結果數組。 嘗試這個:

 var input = '[{"title":"XYZ","id":"123"},{"title":"NPS","id":"124"},{"title":"LMW","id":"125"}]'; var output = JSON.parse(input); output.forEach(obj => console.log(obj.title)); // just an example

const input = '{"title":"XYZ","id":"123"} {"title":"NPS","id":"124"}{"title":"LMW","id":"125"}'; const objects = input.split("}").filter(element => !!element).map(element => JSON.parse(element + "}"));; objects.forEach(object => console.log(object["title"]));

暫無
暫無

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

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