我试图循环通过以下json数组:
{
"id": "1",
"msg": "hi",
"tid": "2013-05-05 23:35",
"fromWho": "hello1@email.se"
}, {
"id": "2",
"msg": "there",
"tid": "2013-05-05 23:45",
"fromWho": "hello2@email.se"
}
Run Code Online (Sandbox Code Playgroud)
并尝试了以下
for (var key in data) {
if (data.hasOwnProperty(key)) {
console.log(data[key].id);
}
}
Run Code Online (Sandbox Code Playgroud)
但由于某种原因,我只得到第一部分,id 1值.
有任何想法吗?
我试图让 jq 将 json 对象渲染为 tsv 格式。我遇到了一种使用键名称动态生成标头的方法。
我收到此错误:
对象 ({"version":...) 在 csv 行中无效
我猜测这是由于某些字段是数组:Installed
和Latest
。我怎样才能使其在这些领域发挥作用?另外,为什么我的输出包括\t
?
电流输出:
"RELEASE\tINSTALLED\tLATEST\tOUTDATED\tDEPRECATED"
jq: error (at <stdin>:28): object ({"version":...) is not valid in a csv row
Run Code Online (Sandbox Code Playgroud)
期望的输出:
RELEASE INSTALLED LATEST OUTDATED DEPRACATED
test-app 1.0.0 2.0.0 true false
test-app2 3.0.0 3.5.0 true false
Run Code Online (Sandbox Code Playgroud)
杰克
cat test1.json | jq '[.[]| with_entries( .key |= ascii_upcase ) ] | (.[0] |keys_unsorted | @tsv), (.[]|.|map(.) |@tsv)'
Run Code Online (Sandbox Code Playgroud)
格式:
[
{
"release": "test-app",
"Installed": {
"version": "1.0.0",
"appVersion": …
Run Code Online (Sandbox Code Playgroud)