簡體   English   中英

如何將具有鍵值對的Json字符串轉換為僅包含JavaScript中值的字符串

[英]How to convert Json string with key-value pair into string with only values in javascript

如何在javascript中將具有鍵值對的JSON字符串轉換為僅包含值的字符串。

例如我的JSON輸出看起來像這樣

{
  "data": {
    "BearCollection": {
      "BearDetails": [
        {
          "Name": "James",
          "x": "81.43410000",
          "y": "6.32813300"
        },
        {
          "Name": "James",
          "x": "81.43489000",
          "y": "6.32763300"
        },
        {
          "Name": "Sera",
          "x": "81.4377000",
          "y": "6.32453300"
        }
      ]
    }
  },
  "xhr": {}
}

我想使用javascript將其轉換為

var details=[
  [
    "James",
    81.4341,
    6.328133
  ],
  [
    "James",
    81.43489,
    6.327633
  ],
  [
    "Sera",
    81.4377,
    6.324533
  ]
];

有什么辦法嗎?

var json = "Your JSON string";
obj = JSON.parse(json);

for(int i= 0; i< obj.data.BearCollection.BearDetails.length;i++)
{
   String Name = obj.data.BearCollection.BearDetails[i].Name;
   String x = obj.data.BearCollection.BearDetails[i].x;
   String y = obj.data.BearCollection.BearDetails[i].y;

  ..fill Array (pseudo - do some work yourself ;) )
}
$(document).ready(function() {
var data = JSON.parse('{"data": {"BearCollection": {"BearDetails": [{"Name": "James","x": "81.43410000","y": "6.32813300"},{"Name": "James","x": "81.43489000","y": "6.32763300"},{"Name": "Sera","x": "81.4377000","y": "6.32453300"}]}},"xhr": {}}');

var bear;
var arr = [];
var nestedArr;
for (i in data.data.BearCollection.BearDetails) {
    bear = data.data.BearCollection.BearDetails[i];

    nestedArr = [];
    nestedArr.push(bear.Name);
    nestedArr.push(bear.x);
    nestedArr.push(bear.y);

    arr.push(nestedArr);
}

});

使用JSON.parse從JSON字符串獲取對象,然后訪問BearDetails,將每個元素轉換為數組,然后再次對新集合進行字符串化:

var obj = JSON.parse(jsonstring);
var details = obj.data.BearCollection.BearDetails.map(function(detail) {
    return [detail.Name, detail.x, detail.y];
});
return JSON.stringify(details);

暫無
暫無

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

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