JSON入门

前言

JSON--目前大部分的接口自动化测试,参数的传入和响应的输出都是JSON。

用Java来解析JSON:目前国内不管是自动化测试还是测试开发,Java一直都是大众语言,也就是首选语言。使用Python的公司还是太少,而且是少量使用在运维自动化上面。加上,有些时候,面试,大部分都是看你JAVA的编程能力,很多面试你的人,TA都不懂Python,所以,选择用Java来学习JSON。

什么JSON

JSON(JavaScript Object Notation)是一种与开发语言无关的,轻量级的数据格式。这里提下XML,XML语言冗余,解析数据太慢。所以,在前端开发中,JavaScript语言最早使用了JSON这种数据格式,现在,几乎你知道的每门开发语言都支持JSON的API。

        JSON的特点

1. 与开发语言无关

2. 容易阅读和编写,程序容易解析和生成

JSON格式

JSON有点像很多语言中的字典,由key 和value得方式组成

{

  "title" : "JSON入门-Java篇",

  "author" : "Anthony",

  "author" : ["JSON基础","JSON常用处理方法介绍"],

  “time” : {

     “value” : 2017,

      “unit” : “天”

  }

}1.多对到括号是成对出现,支持嵌套

2.除了最后一个元素,其他元素后面都加上逗号

3.value部分如果是字符串,一定要用引号引用起来,如果是数字,直接写数字就可以

JSON数据类型

JSON中数据类型也分基本数据类型和数据结构类型。

1)数据结构类型

上面的花括号{}和中括号[]

花括号表示是结构体类型(object)

中括号表示是数组类型(array)

2)基本数据类型

有5中基本数据类型:string, number, true, false, null

       其中,字符串类型就是用双引号包裹的,数字类型,直接写数字就可以,如果数字用双引号,就变成了字符串。true和false是布尔型,还有一种为空,用关键字null表示。

在json格式中,不支持写注释

-.名字叫张三(字符串)

-.年龄是24岁半(数字)

-.生日是19xx年xx月xx日(字符串)

-.毕业学校是蓝翔技校(字符串)

-.专业是:理发和开挖掘机(数组)

-.没有车(bool)

-.没有房子(bool)

-.也没有女朋友(bool)

 

“name” : “张三”,

  “age” :  24.5,

  “birthday" : "19xx-xx-xx",

  “school” : “蓝翔技校”,

  “major” : ["理发师", "挖掘机"],

  “car” : false ,

  “has_hourse” : false,

  “has_girlfriend : false

json.org来构建JSON数据并输出

如何用Java代码来构造这个JSON数据?

主要介绍一个json.org库,通过这个库提供的方法,在Eclipse中写一个简单的

java程序来测试下JSON的构造和输出。

1.新建eclipse项目

2.下载json.org.jar

(1)http://www.json.org/

(2)点击JSON-java后页面

跳转到GitHub上,点击最

下方的链接

(3)选择想要版本jar包

3.把下载的文件json-20170516.jar添加到项目Build path

4.新建一个Java测试类:put方法是给JSON对象添加key和value的

JSONObject zhangsan = new JSONObject();

zhangsan.put("name", "张三");

zhangsan.put("age", 25.2);

zhangsan.put("birthday", "1991-06-08");

zhangsan.put("school", "蓝翔技校");

zhangsan.put("major", new String []{"理发师", "挖掘机"});

zhangsan.put("car", false);

zhangsan.put("has_girlfriend", false);

zhangsan.put("hourse", false);

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

HashMap来构建JSON

Map<String, Object> lisi = new HashMap<String, Object>();

lisi.put("name", "李四"); 

            lisi.put("age", 27.2); 

                lisi.put("birthday", "2001-01-01"); 

                lisi.put("school", "浪潮大学"); 

                lisi.put("major", new String []{"程序员", "架构师"}); 

                lisi.put("car", false); 

                lisi.put("has_girlfriend", false); 

                lisi.put("hourse", false); 

                System.out.println(new JSONObject(lisi).toString());

JavaBean来构造JSON

JavaBean是可复用的平台独立的软件组件

 

生成get和set方法

直接引用bean包,里面的get方法set方法

解析json文件

1.构造一个test.json文件

2.现在commons-io.jar文件,并放到项目build path

3.新建一个ReadJSON.java文件

 

File file = new File("./test.json");

// 通过 commons-io 里方法读取文件内容

//String content = FileUtils.readFileToString(file, "utf8");

String content = FileUtils.readFileToString(file, "gbk");

// 转换JSON对象进行处理

JSONObject jsonObject = new JSONObject(content);

// 根据getString()获取姓名

if (!jsonObject.isNull("name")) {

// 根据getString()获取姓名

System.out.println("姓名是:" jsonObject.getString("name"));

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值