格式化从JSON解析的对象

时间:2017-08-18 00:18:35

标签: javascript jquery arrays json

我需要从外部json文件创建数组,看起来像这样

{
  "cases":[
    { 
        "case_no":1,
        "case_input":[
        {
          "input1":6,
          "input2":[1,2,3,4,10,11]
        }],
        "case_output":31
    },
    { 
      "case_no":2,
      "case_input":[
        {
          "input1":5,
          "input2":[5,5,5,5,14,17]
        }],
      "case_output":51
    }
        ]       
}

我需要创建一个需要看起来像这样的数组

["6↵1 2 3 4 10 11","5↵5 5 5 5 14 17"]

我怎么能用javascript

来做到这一点

1 个答案:

答案 0 :(得分:1)

您的输入JSON对象无效,因为它具有重复的对象键作为兄弟(输入)。 除非你将它们重命名为不同,否则你无法获得预期的结果。 假设你有不同的钥匙;这是一个jsfiddle

// Code goes here
'use strict';

let jsObj = {
  "cases":[
    { 
        "case_no":1,
        "case_input":[
        {
          "input":6,
          "input2":[1,2,3,4,10,11]
        }],
        "case_output":31
    },
    { 
      "case_no":2,
      "case_input":[
        {
          "input":5,
          "input2":[5,5,5,5,14,17]
        }],
      "case_output":51
    }
        ]       
}
let inputArr = [];
jsObj['cases'].forEach(function(caseInput) {
  caseInput.case_input.forEach(function(caseInput) {
    let obj = {};
    obj[caseInput.input] = caseInput.input2;
    inputArr.push(obj)
  })
});

console.log(inputArr);

//输出

[{6:1,2,3,4,10,11},{5:5,5,5,5,14,17}]