json是javascript衍生的数据表示法,现在许多数据的处理都使用json.

平时用到的与json结构相似的有很多,如mongodb数据库,python的字典等.核心思想就是键值对.

json的基本数据结构包括对象和数组,对象用{},里面是键值对,数组用[],可包含多个对象;json在python中解析后,对象出来是字典,数组是列表.

json简单操作:

----------格式化----------

windows可以用notepad++,有json Viewer插件,可以点击"插件(P)"->"Plugin Manager"->"Show Plugin Manager".在弹出的窗口里面找到"JSON Viewer"安装;

没有的话需要下载安装,地址  https://sourceforge.net/projects/nppjsonviewer/  .将下载好的文件解压,找到  NPPJSONViewer.dll  这个文件,拷贝到notepad++的plugins文件夹下,

例如我的notepad++安装在C盘,我的插件地址是"C:\Program Files\Notepad++\plugins".

安装好该插件后将json文件用notepad++打开.

先选中需要格式化的json文本(一定要选中),如果格式化整个文件直接ctrl+a就好了.

然后依次点击"插件(P)"->"JSON Viewer"->"Format JSON ",即可看到文本格式的变化,需要保存的记得ctrl+s.

ubuntu可以用jq命令,需要先安装$apt install jq.

需要查看某个json文件的格式化的,直接在命令行使用jq . [filename]

也可以直接使用网页解析json,访问json.cn(或者其他在线解析网站),将需要格式化的文本复制到框框即可.

----------数据处理----------

mongodb直接导入json文件
mongoimport -d [database] -c [Collection] <file>

其中database是数据库,collection是集合,file是文件名.

例如,我将test.json导入数据库test中的mytest集合:

使用--jsonArray是因为我的文件是json数组,直接导入会报错;最外层是对象的json文件不用--jsonArray即可导入.

数据库和集合都可以是不存在的,mongo会自动创建.

python处理json数据.

在数据传输中json都是纯文本的形式.在python中即作为字符串存取.

使用json模块的loads和dumps转换json.

# /usr/bin/python
# encoding: utf-8 import json with open('test.json','r') as f:
jsn = f.read() # 将json字符串转换为对应的列表或字典
jsn = json.loads(jsn)
print type(jsn)
print jsn # 将对象转换为字符串
str = json.dumps(jsn)
print type(str)
print str

ubuntu中仍使用上文所说的jq命令处理json文件,安装好后,输入jq可查看使用方法.

基本用法:

jq [options] <jq filter> [file...]

基本的filter有

  .    表示对象

  [ ]     表示数组

  .key  可以通过key输出值

这些都会直接输出到屏幕,要输出到文件,使用 '>' 定向到文件即可

如,将test.json的name字段输出到name文件中: jq .[].name test.json > name

json更适用于已知结构的数据.在使用中比较方便,结合mongodb,效率可观.

在python的使用中仍会遇到一些格式上的问题(特别是python2),写代码时需多多注意.

json操作相关记录的更多相关文章

  1. Git操作相关记录

    1. 本地更新fork来的项目,与原项目同步更新 git remote add upstream <origin_repo_addr> git remote -v git fetch up ...

  2. Linux学习记录--文件IO操作相关系统编程

    文件IO操作相关系统编程 这里主要说两套IO操作接口,各自是: POSIX标准 read|write接口.函数定义在#include<unistd.h> ISO C标准 fread|fwr ...

  3. Asp.Net Core 2.0 项目实战(8)Core下缓存操作、序列化操作、JSON操作等Helper集合类

    本文目录 1.  前沿 2.CacheHelper基于Microsoft.Extensions.Caching.Memory封装 3.XmlHelper快速操作xml文档 4.Serializatio ...

  4. 基于SqlSugar的开发框架循序渐进介绍(8)-- 在基类函数封装实现用户操作日志记录

    在我们对数据进行重要修改调整的时候,往往需要跟踪记录好用户操作日志.一般来说,如对重要表记录的插入.修改.删除都需要记录下来,由于用户操作日志会带来一定的额外消耗,因此我们通过配置的方式来决定记录那些 ...

  5. Winform开发框架之权限管理系统改进的经验总结(4)-一行代码实现表操作日志记录

    在前面介绍了几篇关于我的权限系统改进的一些经验总结,本篇继续这一系列主体,介绍如何一行代码实现重要表的操作日志记录.我们知道,在很多业务系统里面,数据是很敏感的,特别对于一些增加.修改.删除等关键的操 ...

  6. ASP.NET 里的 JSON操作

    最近项目中需要用到 JSON操作,google了一下 找到了几个比较好的操作方法.... 一 .使用 mircosoft 提供的 .NET Framework 自带的 json操作方法 1. 使用Ja ...

  7. [Android学习笔记]理解焦点处理原理的相关记录

    焦点处理相关记录 以下所涉及的焦点部分,只是按键移动部分,不明确包含Touch Focus部分 需解决问题 控件的下一个焦点是哪? 分析思路 当用户通过按键(遥控器等)触发焦点切换时,事件指令会通过底 ...

  8. 3.数据库操作相关术语,Oracle认证,insert into,批量插入,update tablename set,delete和truncate的差别,sql文件导入

     1相关术语 语句 含义 操作 DML语句 (Data Manipulation Language) 数据库操作语言 insert update delete select DDL语言 (Date ...

  9. 【转】python 历险记(四)— python 中常用的 json 操作

    [转]python 历险记(四)— python 中常用的 json 操作 目录 引言 基础知识 什么是 JSON? JSON 的语法 JSON 对象有哪些特点? JSON 数组有哪些特点? 什么是编 ...

随机推荐

  1. spring.net事件的注入

    .c#代码 TestObject source = new TestObject(); TestEventHandler eventListener1 = new TestEventHandler() ...

  2. DataTable数据分页

    using System;using System.Collections.Generic;using System.Data;using System.Linq;using System.Refle ...

  3. MySQL 存储过程和存储函数学习

    #一.存储过程和存储函数的创建案例 CREATE PROCEDURE myprocedure(in a int,in b int ,OUT c INT) BEGIN set c=a+b; end; c ...

  4. 使用 ServiceStack 构建跨平台 Web 服务(转)

    出处:http://www.cnblogs.com/shanyou/p/3348347.html 本文主要来自MSDN杂志<Building Cross-Platform Web Service ...

  5. (I/O流)在100ms内桌面上生成一个200M大小的文件

    最终速度取决于硬盘的读写速度 package com.laurdawn; import java.io.File; import java.io.FileInputStream; import jav ...

  6. NSPredicate过滤数组数据

    NSPredicate编写软件时,经常需要获取一个对象集合,然后删除不满足条件的对象,保留符合条件的对象,从而提供一些有意义的对象.Cocoa提供了一个名为NSPredicate的类,他用于指定过滤器 ...

  7. JavaScript执行顺序

    当JavaScript引擎解析脚本时,它会在预编译期对所有声明的变量和函数进行处理.所以,就会出现当JavaScript解释器执行下面脚本时不会报错: alert(a);                ...

  8. GCT感受

    GCT考试已经结束了,但是复习GCT的时候一直没来得及总结点什么,GCT考的比较基础,所以复习起来并不是特别费力,但是还是有一些东西值得我们去学习的. 对于GCT考试,一开始在报名的时候其实心里是挺抵 ...

  9. yum使用,使用rpm指令安装rpm,使用dpkg指令安装deb

    yum安装时如果报错提示安装失败,缺少库文件,可以使用: yum whatprovides 库名 之后安装提供的程序 yum remove xxx卸载 yum update 更新 解决 Require ...

  10. Tomcat配置文件与启动顺序

    三个配置应用的位置: 1.conf目录下的server.xml文件:此方式为Eclipse默认配置方法,同时也是三种方式中优先级最高的. <?xml version="1.0" ...