热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

shell编程json,shell编程100例

本文目录一览:1、何用shell或者python脚本格式化json后缀名文件,并保存

本文目录一览:


  • 1、何用shell或者python脚本格式化 json后缀名文件,并保存


  • 2、Linux Shell格式化Json


  • 3、如何通过shell取得下面JSON里的数据


  • 4、如何用shell或者python脚本格式化 json后缀名文件,并保存文件,求助


  • 5、Linux Shell jq比较json是否相同

何用shell或者python脚本格式化 json后缀名文件,并保存

import json

str = "{'price': 542.23, 'name': 'ACME', 'shares': 100}"

parsed = json.loads(str.replace('\'', '"'))

print json.dumps(parsed, indent=4, sort_keys=True)

Linux Shell格式化Json

Linux下查看格式化输出json

使用json在线解析可以解决问题

其实Linux下有现成的工具可以很好的显示

1.直接以文本形式展现

输入

回车显示结果

2.如果json保存在文件里比如

可以使用

即可格式化查看json如图

我们平常使用curl测试返回的数据也可以这样格式化输出

编写Shell脚本

保存为文件abc.sh

比较清晰了

这也算是平时积累的小技巧

如何通过shell取得下面JSON里的数据

import net.sf.json.JSONArray;

import net.sf.json.JSONObject;

public class DoJSON {

public static void main(String[] args) {

JSONArray employees = new JSONArray(); //JSON数组

JSONObject employee = new JSONObject(); //JSON象

employee.put("firstName", "Bill"); //按键-值形式存储数据JSON象

employee.put("lastName", "Gates");

employees.add(employee); //JSON象加入JSON数组

employee.put("firstName", "George");

employee.put("lastName", "Bush");

employees.add(employee);

employee.put("firstName", "Thomas");

employee.put("lastName", "Carter");

employees.add(employee);

System.out.println(employees.toString());

for(int i=0; iemployees.size(); i++) {

JSONObject emp = employees.getJSONObject(i);

System.out.println(emp.toString());

System.out.println("FirstName :\t" + emp.get("firstName"));

System.out.println("LastName : \t" + emp.get("lastName"));

}

}

}

K

如何用shell或者python脚本格式化 json后缀名文件,并保存文件,求助

不知道你用的哪个版的python

我使用python3可以处理有中文的json文件

读写json文件:

首先 import json

load() loads()

dump() dumps()

一、从文件:

json转Python数据结构:json.load

fo = open('data.json', 'r')

data = json.load(fo)

python数据结构转json:json.dump

fo = open('data.json', 'r')

json.dump(data, fo)

二、python字符串和json之间互相转换:

json_str = json.dumps(data)

data = json.loads(json_str)

三、json格式化输出:

1、格式化打印 pprint

2、格式化输出

在编码JSON的时候,还有一些选项很有用。 如果你想获得漂亮的格式化字符串后输出,可以使用json.dumps() 的indent参数。

它会使得输出和pprint()函数效果类似。比如:

print(json.dumps(data, indent=4))

fo = open('data.json', 'r')

json.dump(data, fo, indent=4)

四、带有中文的json转换:

jsOndata= json.dumps( dics, ensure_ascii = False, indent = 4 )

在dumps方法中加入参数ensure_ascii = False,可以使dic中的中文正常转换

2、若python的数据中既有普通字符,又有Unicode字符串,上述方法则不行,还要在后面加上encode('utf-8')

手动转换成utf-8编码

jsOndata= json.dumps( dics, ensure_ascii = False, indent = 4 ).encode('utf-8')

Linux Shell jq比较json是否相同

问题:shell下使用jq比较两个json是否相等,第一个难点是KEY需要排序,第二个难点是array需要排序

Jq 本身提供-S参数使key进行排序

不过无法处理array.

jq提供了walk功能可以对所有的key进行遍历,同时他的example1就展示了如何对array进行排序,但apt中提供的jq不具有这个功能。

在github上找到了可以在jq1.5中使用walk的方法

最后写成了这个样子,


推荐阅读
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 如何自行分析定位SAP BSP错误
    The“BSPtag”Imentionedintheblogtitlemeansforexamplethetagchtmlb:configCelleratorbelowwhichi ... [详细]
  • 本文介绍了Python对Excel文件的读取方法,包括模块的安装和使用。通过安装xlrd、xlwt、xlutils、pyExcelerator等模块,可以实现对Excel文件的读取和处理。具体的读取方法包括打开excel文件、抓取所有sheet的名称、定位到指定的表单等。本文提供了两种定位表单的方式,并给出了相应的代码示例。 ... [详细]
  • 本文详细介绍了GetModuleFileName函数的用法,该函数可以用于获取当前模块所在的路径,方便进行文件操作和读取配置信息。文章通过示例代码和详细的解释,帮助读者理解和使用该函数。同时,还提供了相关的API函数声明和说明。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 关键词:Golang, Cookie, 跟踪位置, net/http/cookiejar, package main, golang.org/x/net/publicsuffix, io/ioutil, log, net/http, net/http/cookiejar ... [详细]
author-avatar
linxin66063
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有