JOSN
1、JSON介绍:
JavaScript对象表示法(JavaScript Object Notation)。独立于语言和平台,比 XML更小、更快,更易解析。如今 JSON 数据已经成为了互联网中大多数数据的传递方式,所以必须要熟练掌握。
2、JSON核心内容:
1. JSON 数据的特点与优势。
2.在 Java 中解析 JSON 格式数据。
3.在 Java 中构建 JSON 格式数据。
3、JSON语法规则:
JSON语法是 JavaScript对象表示语法的子集。
对象:对象包含再 { }之间。
属性:采用Key-Value对来表示。属性之间使用逗号分开。 string : value 。
数组:数组存放再[ ]之间 [ elements ] 。
元素:元素之间用逗号分开。
值:值可以是字符串,数字,对象,数组,true,false,null。
4、JSON对象:
JSON 数据的书写格式是:名称/值对。
名称/值对组合中的名称写在前面(在双引号中),值对写在后面(同样在双引号中),中间用冒号隔开:
{“firstName:Jhon”,”lastName:Done”}
5、例子:
JSON例子1:
{
"people":[
{"firstName":"Brett","lastName":"McLaughlin","email":"aaaa"},
{"firstName":"Jason","lastName":"Hunter","email":"bbbb"},
{"firstName":"Elliotte","lastName":"Harold","email":"cccc"} ]
}
JSON例子2:
{
"cat":"it",
"languages":[
{"id":1,"ide":Eclipse,"name":java },
{"id":1,"ide":VS,"name":C# },
{"id":1,"ide":XCode,"name":PHP }
],
"pop" : true
}
6、使用Java读取 JSON数据步骤:
二、Google的Gson包的使用简介。
1、下载包、构建包Buil Path。
2、创建JsonParser解析对象,再创建JsonObject、
Gson类:解析json的最基础的工具类。
JsonParser类:解析器来解析JSON到JsonElements的解析树。
JsonElement类:一个类代表的JSON元素。
JsonObject类:JSON对象类型。
JsonArray类:JsonObject数组。
TypeToken类:用于创建type,比如泛型List<?>。
7、使用 Java 读取 JSON 数据步骤:
package jsonString;
import java.io.FileNotFoundException;
import java.io.FileReader;
import com.google.gson.JsonIOException;
import com.google.gson.*;
import com.google.gson.JsonSyntaxException;
public class JsonTest {
public static void main(String[] args) {
try {
//创建JsonParser对象
JsonParser parser= new JsonParser();
//创建JsonObject对象
JsonObject object = (JsonObject) parser.parse(new FileReader("Test.json"));
//遍历数组输出
JsonArray array = object.getAsJsonArray("languages");
JsonObject li = object.getAsJsonObject();
System.out.println(li);
} catch (JsonIOException | JsonSyntaxException | FileNotFoundException e) {
e.printStackTrace();
}
}
}
8、java创建JSON数据案例:
package great_json;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
public class JsonTest {
public static void main(String [] args){
//创建JsonObject
JsonObject object = new JsonObject();
object.addProperty("cat", "it");
//添加数组
JsonArray array = new JsonArray();
JsonObject obn1 = new JsonObject();
obn1.addProperty("id",1);
obn1.addProperty("name","Java");
obn1.addProperty("IDE","eclipse");
array.add(obn1);
JsonObject obn2 = new JsonObject();
obn2.addProperty("id",2);
obn2.addProperty("name","C#");
obn2.addProperty("IDE","VS");
array.add(obn2);
JsonObject obn3 = new JsonObject();
obn3.addProperty("id",3);
obn3.addProperty("name","PHP");
obn3.addProperty("IDE","XCode");
array.add(obn3);
object.addProperty("pop", true);
//把添加到数组
object.add("languages", array);
//输出数据
System.out.println(object);
}
}