Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.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属性分解为对象数组_Json_Jolt - Fatal编程技术网

将JSON属性分解为对象数组

将JSON属性分解为对象数组,json,jolt,Json,Jolt,我试图将一个简单的JSon对象转换成一个包含键和值的对象数组,但我不知道如何实现 我尝试了很多方法,但最接近的方法是创建一个包含两个数组的对象,而不是一个包含多个对象的数组,每个对象都有两个属性: 编辑:我正在尝试编写一个规范,它可以接受任何对象,而不是这个特定的对象。我不知道传入对象将是什么,因为它将具有简单的属性(值将不是数组或其他对象) 样本输入: { "property": "someValue", "propertyName" : "anotherValue" } 预期产出:

我试图将一个简单的JSon对象转换成一个包含键和值的对象数组,但我不知道如何实现

我尝试了很多方法,但最接近的方法是创建一个包含两个数组的对象,而不是一个包含多个对象的数组,每个对象都有两个属性:

编辑:我正在尝试编写一个规范,它可以接受任何对象,而不是这个特定的对象。我不知道传入对象将是什么,因为它将具有简单的属性(值将不是数组或其他对象)

样本输入:

{
  "property": "someValue",
  "propertyName" : "anotherValue"
}
预期产出:

{
    "split_attributes": [
        {
            "key" : "property",
            "value": "someValue"
        },
        {
            "key" : "propertyName",
            "value" : "anotherValue"
        }
    ]
}
我目前的规格:

{ 
  "operation": "shift",
    "spec": {
       "*": {
        "$": "split_attributes[#0].key",
        "@": "split_attributes[#0].value"
      }
    }
  }
产生

{
  "split_attributes" : [ 
     {
      "key" : [ "property", "propertyName" ], 
      "value" : [ "someValue", "anotherValue"]
     }
  ]
}
解决方案

我非常接近,在看了测试之后,解决方案是显而易见的(它与其中一个测试相同)

从表面上看,我是在创建一个数组,但我在寻找新数组索引的错误级别。我在整个层次上仍然很模糊(例如,在“树”中的什么位置(以及哪个对象的位置)实际上是#0、#1和#2)

{ 
  "operation": "shift",
    "spec": {
       "*": {
        "$": "split_attributes[#2].key",
        "@": "split_attributes[#2].value"
      }
    }
  }