[英]How to convert mongodb response array from javascript object to JSON string
[英]How to convert a JSON object string to a Javascript array
我從服務傳遞了一個JSON對象,並使用JSON.stringify
將其轉換為字符串,但是所需的輸出與下面的第一個示例所示的期望的不同:
在JSON對象上進行stringify調用后的樣子 :
[{"RID":"98798","appName":"TestApp"},{"RID":"98799","appName":"TestApp Two"}]
它需要什么樣子:
["98798 TestApp","98799 TestApp Two"];
如何將JSON對象轉換為可顯示的javascript數組?
我嘗試過的-
我嘗試調用first stringify,但沒有給出所需的格式,如上所示:
var ridAppList = JSON.stringify(dataRID);
我還嘗試使用parseJSON將該字符串化的字符串轉換為JS數組,但得到類似- [object Obect], [object Object]
:
var ridAppList = $.parseJSON('[' + ridAppList + ']');
這是上下文的完整分配。 在Ajax GET調用的成功函數內,返回JSON對象
success: function (result) {
var dataRID;
dataRID = result;
ridAppList = JSON.stringify(dataRID);
alert(ridAppList);
},
此處的答案對您的示例有效,但這是任意屬性數量和名稱的解決方案。
var flatObjects = [ {"RID":"98798","appName":"TestApp"}, {"RID":"98799","appName":"TestApp Two"}, {"ABB":"98799","appMode":"Test", "feature": 2} ].map(function (obj) { var values = Object.keys(obj).map(function (key) { return obj[key] }) return values.join(' ') }) var result = JSON.stringify(flatObjects) console.log(result)
編輯:代碼格式。
var string = [{"RID":"98798","appName":"TestApp"},{"RID":"98799","appName":"TestApp Two"}]; var result = string.map(function(e) { return e.RID += ' ' + e.appName; }); console.log(result)
或者使用ES6,您可以執行此操作
var string = [{"RID":"98798","appName":"TestApp"},{"RID":"98799","appName":"TestApp Two"}]; var result = string.map(e => e.RID += ' ' + e.appName); console.log(result)
此答案還使用Array.prototype.map,但結合了ES6 解構 , 箭頭功能和模板文字,從而實現了特別簡潔的過程。
var input = [ {"RID":"98798","appName":"TestApp"}, {"RID":"98799","appName":"TestApp Two"} ]; var output = input.map(({RID, appName})=> `${RID} ${appName}`); console.log(output); // [ // "98798 TestApp", // "98799 TestApp Two" // ]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.