Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建嵌套JSON对象Javascript_Javascript_Json_Rest - Fatal编程技术网

创建嵌套JSON对象Javascript

创建嵌套JSON对象Javascript,javascript,json,rest,Javascript,Json,Rest,您好,我想在java脚本中为post请求中的存储资源创建一个JSON对象,我有一个输入数组值disk sizes,例如: 请求1 输入=[10,20,30] "storageResources": [ { "stats": [ { "name": "diskSize", "units": "GB", "value": 10 }, { "name": "diskIopsConsumed

您好,我想在java脚本中为post请求中的存储资源创建一个JSON对象,我有一个输入数组值disk sizes,例如:

请求1 输入=[10,20,30]

 "storageResources": [
  {
    "stats": [
      {
        "name": "diskSize",
        "units": "GB",
        "value": 10
      },
      {
        "name": "diskIopsConsumed",
        "value": 0
      },
      {
        "name": "diskConsumedFactor",
        "value": 1
      }
    ]
  },
  {
    "stats": [
      {
        "name": "diskSize",
        "units": "GB",
        "value": 20
      },
      {
        "name": "diskIopsConsumed",
        "value": 1
      },
      {
        "name": "diskConsumedFactor",
        "value": "NaN"
      }
    ]
  },
  {
    "stats": [
      {
        "name": "diskSize",
        "units": "GB",
        "value": 30
      },
      {
        "name": "diskIopsConsumed",
        "value": 0
      },
      {
        "name": "diskConsumedFactor",
        "value": 1
      }
    ]
  },
],
请求2: 输入[10,20]

    "storageResources": [
  {
    "stats": [
      {
        "name": "diskSize",
        "units": "GB",
        "value": 10
      },
      {
        "name": "diskIopsConsumed",
        "value": 0
      },
      {
        "name": "diskConsumedFactor",
        "value": 1
      }
    ]
  },
  {
    "stats": [
      {
        "name": "diskSize",
        "units": "GB",
        "value": 20
      },
      {
        "name": "diskIopsConsumed",
        "value": 1
      },
      {
        "name": "diskConsumedFactor",
        "value": "NaN"
      }
    ]
  }
],

这是使用函数实现的最好方法,还是可以通过属性发送

使用Array.prototype.map返回修改后的响应

$$text.oninput=evt=>{ 让json=json.parse$$text.value 让result=json.storageResources.mapresource=> resource.stats.finde=>e.name=='diskSize'。值 console.logresult } $$text.oninput
{storageResources:[{stats:[{name:diskSize,units:GB,value:10},{name:diskIopsConsumed,value:0},{name:diskConsumedFactor,value:1}},{stats:[{name:diskSize,units:GB,value:20},{name:diskIopsConsumed,value:1},{name:diskConsumedFactor,value:NaN},{stats:[{name:diskSize,units:GB,value:30},{name:diskIopsConsumed,value:0},{]}使用Array.prototype.map,您想做什么?嵌套这两个数组?感觉很糟糕,它代表磁盘,因为有一个统一的。。。如果他们说磁盘大小是512 MB,你会怎么做?你确定它没有混合GiB和GB吗?从编程角度来说,它应该是字节长度,并在视图中表示为人性化的…这是两种不同类型的请求,一种有两个磁盘,另一种有3个磁盘。@这正是api所采用的