如何在命令行中打印格式化的json和xml数据

11 篇文章 0 订阅

如果你跟我一样是个重度命令行依赖用户,那么当你在Terminal中用curl调试一些Rest API的时候,肯定会因为一堆看上去杂乱无章的输出而头大不已,比如像下面这样…

json_without_format

当然,你可以再把这一堆输出copy到某个formatter里面,如果你真的要这么做,那我推荐一个还不错的在线formatter网站。但如果你不想这么麻烦,想直接在Terminal里面就看到格式化的数据,那也可以,方式就是通过python(2.6版本之后)的一个module,使用方式如下

1
curl http: //apihost/v0/public/data -d type =2 | python -m json.tool

如果API返回的是一串合法的json,那么这个时候你在命令行里看到就是这样的

json_with_format

这个方法唯一的问题就是在Terminal里没法显示unicode中文,但如果你只是想看看返回数据的结构,那就没问题。或者如果你有什么完美的解决方案,也请你不吝分享。

虽然现在JSON以其轻量级,易解析等诸多优点大行其道,但也有一些系统的API返回的数据是XML格式的,python没有现成的module像格式化json一样格式化xml。当然,你可以用lxml自己写一个,这也很简单。(如果你真的写了,那也请你不吝分享出来…LOL)。虽然没有现成的python module,但是有现成的工具,那就是xmllint。关于xmllint的介绍自己看doc就是了,他是libxml2的一部分,所以在大多数的*nix系统上都是默认自带的。用起来也很简单

1
curl http:: //api-which-returns-xml-string | xmllint -- format -

格式化之后的xml数据如下所示

xml_with_format

Have fun!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值