我正在尝试将一个简单的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)
解决方案
我非常接近,在查看测试后,解决方案很明显(它与其中一个测试相同)
{
"operation": "shift",
"spec": {
"*": {
"$": "split_attributes[#2].key",
"@": "split_attributes[#2].value"
}
}
}
从看起来,我正在创建一个数组,但我正在寻找新数组的索引的错误级别。我在整个#级别上仍然模糊不清(例如,在“树”(以及哪个对象)#0,#1和#2实际上看的位置)。