簡體   English   中英

將 JSON 值轉換為 JavaScript 數組

[英]Converting JSON value into JavaScript array

我想將一個 JSON 字符串轉換為一組包含來自 JSON 的值的數組。 json.stringify(jsonmybe)並提醒它顯示[{"role":"noi_user"},{"role":"bert_user"}] (我將其視為 JSON)。 我想獲取noi_userbert_user並將它們設置為一個 javascript 數組。 ['noi_user','bert_user']類的東西,每個值都有引號。

我做了var stringy = json.parse()和顯示[object Object]的警報。 並進一步添加這一行

for (var i = 0; i < stringy.length; i++) {
    arr.push(stringy[i]['role']);}

我得到的arr是一個帶逗號的值,當我在警報中時,但是當我在文本字段中顯示它們時缺少逗號,它變成了一個長字符串,如noi_userbert_user

我真正想要的是從[{"role":"noi_user"},{"role":"bert_user"}]['noi_user','bert_user']

使用 JSON.parse 然后減少得到你想要的,

 var s = `[{"role":"noi_user"},{"role":"bert_user"}]` var arr = [] try { arr = JSON.parse(s).reduce((acc, val)=>[...acc, val.role], []) } catch (e){ console.log("Invalid json") } console.log(arr)

這是你要找的嗎? 您可以映射到您的數組並提取每個數據的role屬性。

const jsonString = ...
const data = JSON.parse(jsonString).map(data => data.role);
console.log(JSON.stringify(data, null, 2));

JSON 使用雙引號來分隔字符串和字段名稱。

所以你有一個像這樣的 JSON 字符串

'[{"role":"noi_user"},{"role":"bert_user"}]'

您想將其轉換為對象,然后提取每個元素的“角色”字段的值,將它們全部放入一個數組中。

您的示例 json 字符串在“角色”字段中包含一組用戶對象。 以下代碼獲取此列表,循環遍歷每個用戶對象並將每個對象的角色放入單獨的數組 roleList 中。

 var jsonStr = '[{"role":"noi_user"},{"role":"bert_user"}]'; var userObjList = JSON.parse(jsonStr); var roleList = []; userObjList.forEach(userObj => { roleList.push(userObj.role); }); console.log(roleList);

您可以創建一個自定義函數來在 PHP 中生成某種 array_values,但具有如下所示的縮進和 2D 級別:

 function array_values_indented (input) { var tmpArr = [] for (key in input) { tmpArr.push(input[key]['role']); } return tmpArr } var object = JSON.parse('[{"role":"noi_user"},{"role":"bert_user"}]'); var result = array_values_indented(object); console.log(result);

暫無
暫無

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

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