-s --stream, , :
reduce (.[] | select(length==2)) as $kv ({};
$kv[0][0] as $k
|$kv[1] as $v
| (.[$k]|type) as $t
| if $t == "null" then .[$k] = $v
elif $t == "array" then .[$k] += [$v]
else .[$k] = [ .[$k], $v ]
end)
:
{
"a": [
"1",
"3"
],
"b": "2"
}
, , :
{
"c" : "C",
"a" : "1",
"b" : "2",
"a" : "3",
"b" : "1"
}
, :
{
"c": "C",
"a": [
"1",
"3"
],
"b": [
"2",
"1"
]
}