linux shell 解析json,在shell中解析JSON

shell本身不能存储复杂的数据结构,但是像shell中的大部分时间一样,你可以使用外部工具,我在这里演示了6种不同的解决方案,所有这些都在Unix *中像shell一样:

首先,您的JSON已损坏,这是file.js中的有效版本:

{

"italian" : {

"name" : [

"gatto",

"cane",

"pasta",

"telefono",

"libro"

],

"adjective" : [

"pesante",

"sottile",

"giallo",

"stretto"

]

},

"english" : {

"name" : [

"fish",

"book",

"guitar",

"piano"

],

"adjective" : [

"dirty",

"good",

"ugly",

"great"

]

}

}

使用jq

$jq '.english.adjective[1]' file.js

输出:

good

使用jq和RANDOM shell变量:

$echo $(

jq ".english.adjective[$((RANDOM%4))], .english.name[$((RANDOM%4))]" file.js

)

"great" "piano"

$rhino</dev/null

hash = $(

print(hash.english.adjective[1])

EOF

输出:

...

good

$node<

hash = $(

console.log(hash.english.adjective[1])

EOF

输出:

good

让我们在perl命令行中解析DS:

$perl -MJSON -0lnE '

$words = decode_json $_;

say $words->{english}->{adjective}->[1]

' file.js

输出:

good

$python<

import json

json_data = open('file.js')

data = json.load(json_data)

json_data.close()

print(data['english']['adjective'][1])

EOF

输出:

good

$ruby<

require 'json'

file = File.read('file.js')

data = JSON.parse(file)

print(data['english']['adjective'][1])

EOF

输出:

good

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值