shell 输出json格式的内容
对于shell脚本的输出,如果要输出json格式的内容,我们可以借助python -m json.tool命令
比如
echo '{"name":"zhangsan", "age":"18"}' | python -m json.tool

首先,大括号外面必须有单引号'',因为在shell里面大括号{}不用单引号引起来就相当于一个匿名函数,
不加单引号就等价去echo 输出 {"name":"zhangsan", "age":"18"}这个匿名函数的返回值。
其次,大括号里面的字符串,必须用"" 双引号,不能用''单引号,否则会报错。
当大括号中带有变量时该怎么输出呢?
echo 后面的内容已经被''单引号引起来了,shell自身已经不可能再去解析变量了,那么只能我们职级手动去解析,这时候就想到eval命令,eval的一个功能就是将自己的参数变量进行展开,具体关于eval的命令,自行网上搜索吧,下面直接给出答案。
echo $(eval echo '{"name":"zhangsan", "age":""$age""}') | python -m json.tool

注意,第一个echo不是必须的,所以也可以是eval echo '{"name":"zhangsan", "age":""$age""}' | python -m json.tool。但是大括号里面的""双引号必须用反斜杠\标注出来,因为eval在进行变量展开的时候,会将大括号中的""解析掉,当不加反斜杠\时,输出就变成了

而对于python -m json.tool, ""双引号是必须的。 所以大括号里面的""双引号必须用反斜杠\标注出来。
shell 输出json格式的内容的更多相关文章
- PHP、Java输出json格式数据
PHP 输出json. $result = mysql_query($sql); //查询结果 $users=array(); $i=0; while($row=mysql_fetch_array ...
- 在JSP页面中输出JSON格式数据
JSON-taglib是一套使在JSP页面中输出JSON格式数据的标签库. JSON-taglib主页: http://json-taglib.sourceforge.net/index.html J ...
- python json.dumps()函数输出json格式,使用indent参数对json数据格式化输出
在python中,要输出json格式,需要对json数据进行编码,要用到函数:json.dumps json.dumps() :是对数据进行编码 #coding=gbkimport json dict ...
- WCF兼容WebAPI输出Json格式数据,从此WCF一举两得
问题起源: 很多时候为了业务层调用(后台代码),一些公共服务就独立成了WCF,使用起来非常方便,添加服务引用,然后简单配置就可以调用了. 如果这个时候Web站点页面需要调用怎么办呢? 复杂的XML , ...
- php直接输出json格式
php直接输出json格式,很多新手有一个误区,以为用echo json_encode($data);这样就是输出json数据了,没错这样输出文本是json格式文本而不是json数据,正确的写法是应该 ...
- Shell 输出第五行的内容
目录 Shell 输出第五行的内容 题目 题解-awk 题解-sed Shell 输出第五行的内容 题目 写一个 bash脚本以输出一个文本文件 nowcoder.txt 中第5行的内容. 示例: 假 ...
- Maven项目配置Logback输出JSON格式日志
最近,项目提出需求,日志需要固定输出为JSON格式,以便后端Flink程序解析. 项目背景 项目为简单的Maven项目,日志由Filebeat采集,因此不需要配置输出至Logstash. 下面为pom ...
- elk-nginx输出json格式的日志
把Nginx日志的格式输出成JSON格式展示在Kibana面板,生产环境中基本都是这么使用. 1, 配置nginx 主要修改nginx的访问日志格式,这里定义成json格式,以便后面logstash更 ...
- ASP.NET Hashtable输出JSON格式数据
最近在开发Windows8 Metro App,使用JavaScript和HTML开发环境.所以操作数据绑定都是使用JSON格式数据.后台使用的是ASP.NET,因为项目相对较小,所有后台没有使用数据 ...
随机推荐
- pxc搭建mysql集群
docker -y update yum install -y docker service docker satrt docker images 服务器:curl -sSL https://get. ...
- el-switch 初始值(默认值)不能正确显示状态问题
<el-table-column align="center" label="状态"> <template slot-scope= ...
- 【树形dp】Bzoj 1040骑士
Description Z国的骑士团是一个很有势力的组织,帮会中汇聚了来自各地的精英.他们劫富济贫,惩恶扬善,受到社会各界的赞扬.最近发生了一件可怕的事情,邪恶的Y国发动了一场针对Z国的侵略战争.战火 ...
- HTML重构与网页常用工具
下面这张思维导图,是我对全书大体内容的一个概括性总结: 工具 本书推荐的工具主要包含的是自动化测试,但是我觉得现行的开发环节当中实际用到的会比较少.这里就推荐一下其他方面的优秀工具: 1. YSlow ...
- 使用Tensorflow对模型进行量化
本文旨在将迁移学习训练好的模型基于tensorflow工具进行量化. 环境配置及迁移学习部分可参考博文[https://www.cnblogs.com/hayley111/p/12887853.htm ...
- CSS粘性定位
粘性定位(position:sticky) 1.定义 粘性定位可以被认为是相对定位和固定定位的混合.元素在跨越特定阈值前为相对定位,之后为固定定位.(MDN传送门) 这个特定阈值指的是 top, ri ...
- CF3D Least Cost Bracket Sequence 贪心
Least Cost Bracket Sequence CodeForces - 3D 题目描述 This is yet another problem on regular bracket sequ ...
- C# 基于内容电影推荐项目(一)
从今天起,我将制作一个电影推荐项目,在此写下博客,记录每天的成果. 其实,从我发布 C# 爬取猫眼电影数据 这篇博客后, 我就已经开始制作电影推荐项目了,今天写下这篇博客,也是因为项目进度已经完成50 ...
- day14总结
装饰器 """1.什么是装饰器 器指的是工具/功能 装饰指的是为被装饰对象添加额外的功能 大白话:定义装饰器就是定义了一个函数,该函数就是用来为其他函数添加额外的功能的 ...
- js数组算法题01
题目:随机生成一个长度为 10 的整数类型的数组,例如 [2, 10, 3, 4, 5, 11, 10, 11, 20],将其排列成一个新数组,要求新数组形式如下,例如 [[2, 3, 4, 5], ...