簡體   English   中英

使用嵌套數組以逗號分隔的字符串轉換JSON

[英]Convert JSON in comma separated string with nested array

我知道這里有很多示例,但仍然無法正常工作。 我有一個像這樣的JSON:

{"domiciles":[{"country":"AF"},{"country":"AX"},{"country":"AL"}],"investor":[{"type":"ii"},{"type":"pi"}]}

存儲在sessionStorage.getItem(“ profile”);

如何轉換為兩個逗號分隔的字符串? 喜歡 ...

AF,AX,AL
ii,pi

嘗試失敗:

var dataResidence = sessionStorage.getItem("profile");
var resultResidence = dataResidence.map(function(val) {
  return val.country;
}).join(',');
console.log(resultResidence);

要么:

var newString = "";
for(var i=0; i< dataResidence.domiciles.length;i++){
    newString += userDefinedSeries.country[i];
    newString += ",";
}
console.log(newString);

您需要解析從sessionStorage獲得的字符串,然后可以映射並加入:

 var profile = '{"domiciles":[{"country":"AF"},{"country":"AX"},{"country":"AL"}],"investor":[{"type":"ii"},{"type":"pi"}]}'; // sessionStorage.getItem("profile"); var dataResidence = JSON.parse(profile); function mapAndJoin(arr, key) { return arr.map(function(o) { return o[key]; }).join(); } var domiciles = mapAndJoin(dataResidence.domiciles, 'country'); var investor = mapAndJoin(dataResidence.investor, 'type'); console.log(domiciles); console.log(investor); 

一種方法

 var obj={"domiciles":[{"country":"AF"},{"country":"AX"},{"country":"AL"}],"investor":[{"type":"ii"},{"type":"pi"}]}; console.log(JSON.stringify(obj)); var countries = obj.domiciles; var str = ''; for(i=0;i<countries.length;i++){ if(i != countries.length - 1) str+= countries[i].country+","; else str += countries[i].country; } console.log(str); var type = obj.investor; var str1 = ''; for(i=0;i<type.length;i++){ if(i != type.length - 1) str1 += type[i].type+","; else str1 += type[i].type; } console.log(str1); 

暫無
暫無

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

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