<ol>
<li><p>在最初的帖子中有一些拼写错误和由此产生的不一致,所以在这个回复中,为了说明,我使用了数据定义的拼写。</p></li>
<li><p>您可以使用<a href="/questions/tagged/jq" class="post-tag" title="show questions tagged 'jq'" rel="tag">jq</a>将编码的字符串“解包”为JSON,例如使用以下过滤器:</p></li>
</ol>
<pre><code>map( (.locations |= fromjson)
| if has("dangerousValues") then .dangerousValues |= fromjson else . end)
</code></pre>
<ol start=“2”>
<li>您可以进一步生成整个表,例如使用制表符分隔的值,如下所示:</li>
</ol>
<pre><code>.[]
| .locations |= fromjson
| .dangerousValues |= if . == null then [] else fromjson end
| [.tripId,.driveDisstance,.devicetime,.speeds]
+ (.dangerousValues
| add
| [.quickTick, .quicRatio, .quicCount, .brakeTick, .brakeRatio, .brakeCount, .overSpeedRatio, .overSpeedCount] )
| @tsv
</code></pre>
<p>对发布的数据使用-r命令行选项,上面的jq过滤器将生成:</p>
<pre><code>19062521016 0 2019-06-26 06:02:30 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,1,2,4,11,13,13,14,14,14,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 0 1023 0 0 1023 0 1023 0
19062521016 0 2019-06-26 06:03:30 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
</code></pre>
<ol start=“4”>
<li>如果.dangerousValues数组中项目的顺序与输出中所需的顺序相同,则可以将上面(3)中的过滤器简化为:</li>
</ol>
<pre><code>.[]
| .locations |= fromjson
| [.tripId,.driveDisstance,.devicetime,.speeds]
+ [.dangerousValues|fromjson[][]]?
| @tsv
</code></pre>