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