繁体   English   中英

JSON之后在JavaScript中生成字典和列表

[英]Generating dictionaries and lists in JavaScript after a JSON

我收到以下格式的JSON:

{
 "0": {
  "a": 0.0, 
  "b": 1.0, 
  "G": 6.0, 
  "w": 0.0, 
  "F": -1.0
 }, 
 "1": {
  "a": 0.0, 
  "b": 0.1429004669189453, 
  "G": 0.000301361083984375, 
  "w": 0.1429004669189453, 
  "F": -1.0
 }, 
 "2": {
  "a": 0.0, 
  "b": 0.1429004669189453, 
  "G": 0.000301361083984375, 
  "w": 0.1429004669189453, 
  "F": -1.0
 }, 
 "3": {
  "a": 0.0, 
  "b": 0.1429004669189453, 
  "G": 0.000301361083984375, 
  "w": 0.1429004669189453, 
  "F": -1.0
....

假设我将其称为json变量。 我正在尝试将其变为:

[
 {"key": "series1",
   values: [
            [`json`["1"]["a"],`json`["1"]["F"]],[`json`["1"]["b"],`json`["1"]["G"]]
           ]
 },
 {"key": "series2",
   values: [
            [`json`["2"]["a"],`json`["2"]["F"]],[`json`["2"]["b"],`json`["2"]["G"]]
           ]
 },
 {"key": "series3",
   values: [
            [`json`["3"]["a"],`json`["3"]["F"]],[`json`["3"]["b"],`json`["3"]["G"]]
           ]
 },
 ....
]

我尝试使用此JavaScript完成此操作,但迷路了:S

var data = function myData(json) {

        series = {}
        for (iteracion in json) {
            series.push({
                key: iteracion, values: [[x: iteracion['a'], y: iteracion['F']],[x: iteracion['b'], y: iteracion['G']]]
            })
        }

        return series

您的问题的解决方案是:

var result = [];
for (var series in json) {      
  result.push({
    key : 'series' + series,
    values : [
      json[series].a,
      json[series].F,
      json[series].b,
      json[series].G,
    ]
  });
}

如果您真的不需要包含键和值的对象数组,则可以更好地组织您的信息:

var result = {};
for (var series in json) {      
  result['series' + series] = [
    json[series].a,
    json[series].F,
    json[series].b,
    json[series].G,
  ];
}

结果是这样的:

{
  series0 : [ 0, -1, 1, 6 ],
  series1 : [ 0, -1, 0.14, 0.0003],
  ...
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM