<p>这里有一个唯一的<a href="/questions/tagged/jq" class="post-tag" title="show questions tagged 'jq'" rel="tag">jq</a>解决方案,它确实使用了内置函数<code>combinations</code>。但是,它确实假设输入是有效的JSON。你知道吗</p>
<pre><code>[ map([ {(.name):.city},
(if .short then {(.short):.city} else empty end) ] )
| combinations
| add ]
</code></pre>
<h2>输出</h2>
<pre><code>[
{
"Robert": "New York",
"Allison": "Los Angeles",
"James": "Chicago",
"Hannah": "Toronto",
"Elizabeth": "London"
},
{
"Robert": "New York",
"Allison": "Los Angeles",
"Jim": "Chicago",
"Hannah": "Toronto",
"Elizabeth": "London"
},
{
"Robert": "New York",
"Ally": "Los Angeles",
"James": "Chicago",
"Hannah": "Toronto",
"Elizabeth": "London"
},
{
"Robert": "New York",
"Ally": "Los Angeles",
"Jim": "Chicago",
"Hannah": "Toronto",
"Elizabeth": "London"
},
{
"Bob": "New York",
"Allison": "Los Angeles",
"James": "Chicago",
"Hannah": "Toronto",
"Elizabeth": "London"
},
{
"Bob": "New York",
"Allison": "Los Angeles",
"Jim": "Chicago",
"Hannah": "Toronto",
"Elizabeth": "London"
},
{
"Bob": "New York",
"Ally": "Los Angeles",
"James": "Chicago",
"Hannah": "Toronto",
"Elizabeth": "London"
},
{
"Bob": "New York",
"Ally": "Los Angeles",
"Jim": "Chicago",
"Hannah": "Toronto",
"Elizabeth": "London"
}
]
</code></pre>