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, ""双引号是必须的。 所以大括号里面的""双引号必须用反斜杠\标注出来。

原文地址:https://www.cnblogs.com/lgj8/p/12325488.html

时间: 2024-10-05 03:58:00

shell 输出json格式的内容的相关文章

PHP、Java输出json格式数据

  PHP 输出json. $result = mysql_query($sql); //查询结果 $users=array(); $i=0; while($row=mysql_fetch_array($result,MYSQL_ASSOC)){ $users[$i]=$row; $i++; } echo json_encode(array("result"=>"success",'data'=>$users));   防止输出json数据乱码,把数据转

ASP.NET Hashtable输出JSON格式数据 - 贵源网络 - 博客园

ASP.NET Hashtable输出JSON格式数据 - 贵源网络 - 博客园 ASP.NET Hashtable输出JSON格式数据 ASP.NET Hashtable输出JSON格式数据 - 贵源网络 - 博客园

在JSP页面中输出JSON格式数据

JSON-taglib是一套使在JSP页面中输出JSON格式数据的标签库. JSON-taglib主页: http://json-taglib.sourceforge.net/index.htmlJAR包下载地址: http://sourceforge.net/projects/json-taglib/files/latest/download 使用方法:1.下载json-taglib.jar,将其放到WEB-INF/lib目录2.在jsp页面中做如下声明:<%@ taglib prefix=&qu

WCF兼容WebAPI输出Json格式数据,从此WCF一举两得

问题起源: 很多时候为了业务层调用(后台代码),一些公共服务就独立成了WCF,使用起来非常方便,添加服务引用,然后简单配置就可以调用了. 如果这个时候Web站点页面需要调用怎么办呢? 复杂的XML , 使用不方便 ,而且通信成本也比较高. 这时候有人受不了了, 于是就新建了一套WebAPI , Web页面调用爽了.但是维护起来又麻烦了,一会儿WCF , 一会儿WebAPI 一段时间过后,可以想象已经相差甚远了. 某一天同事A , 在业务层需要调用一个接口 ,发现它是WebAPI方式的 ,被迫没办

python如果想输出原格式的内容,可以加&#39;&#39;&#39; &#39;&#39;&#39;,占位符使用方式

print('我考了%d分'%20) msg=''' ---------info of %s----------- name: %s age: %d #字符串不能放到%d处 job: %s salary: %f you will be retired in %s years #数字可以放到%s处 ---------end--------------- '''%('tom','tom',20,'it',3444.44,45) print(msg) python如果想输出原格式的内容,可以加'''

【巨坑】springmvc 输出json格式数据的几种方式!

最近公司项目需要发布一些数据服务,从设计到实现两天就弄完了,心中窃喜之. 结果临近部署时突然发现.....  服务输出的JSON 数据中  date 类型数据输出格式要么是时间戳,要么是  {"date":26,"day":1,"hours":21,"minutes":38,"month":5,"seconds":22,"time":1498484302259,&qu

.Net MVC 4 Web Api 输出Json 格式

1.Global 中增加json输出 GlobalConfiguration.Configuration.Formatters.JsonFormatter.MediaTypeMappings.Add(new QueryStringMapping("json", "true", "application/json")); protected void Application_Start() { AreaRegistration.RegisterAl

Java 读取 Json格式的 内容

一.Json 报文格式如下: 二.获取 Json 报文中字段的内容 1 import java.io.IOException; 2 import com.fasterxml.jackson.core.JsonProcessingException; 3 import com.fasterxml.jackson.databind.JsonNode; 4 import com.fasterxml.jackson.databind.ObjectMapper; 5 6 public class Read

存储过程解析表菜单并输出JSON格式字符串

表结构如下: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[T_4s_Menu]( [F_MenuID] [int] IDENTITY(1,1) NOT NULL, [F_MenuName] [nvarchar](50) NULL, [F_MenuUrl] [varchar](100) NULL, [F_ParentID] [int] NULL, [F_Men