发布时间:2025-12-09 12:04:57 浏览次数:1
JSON:JavaScript 对象表示法(JavaScript Object Notation)JSON是存储和交换文本信息的语法。
JSON的特点:1、JSON是轻量级的文本数据交换格式2、JSON独立于语言和平台3、JSON具有自我描述性,更易理解
类似XML,比XML更小、更快,更易解析。1、没有结束标签2、更短3、读写的速度更快4、使用数组5、不使用保留字
JSON语法是JavaScript对象表示法的子集。1、数据在名称/值对中(键值对)2、数据由逗号分隔3、花括号保存对象4、方括号保存数组JSON值可以是:1、数字(整数或浮点数)2、字符串(在双引号中)3、逻辑值(true或false)4、数组(在方括号中)5、对象(在花括号中)6、null
JSON对象在花括号中书写,对象可以包含多个名称/值对。
{"firstName":"Jphn","lasrName":"Doe"}JSON数组在方括号中书写,数组可包含多个对象:
{"employees":[{"firstName":"John","lastName":"Doe"},{"firstName":"Anna","lastName":"Smith"},{"firstName":"Peter","lastName":"Jones"},]}下载google-gson-2.2.4包使用gson-2.2.4.jar
//待读取的JSON文件{"cat":"it",//string类型"languages":[{"id":1,"ide":"Eclipse","name":"Java"},{"id":2,"ide":"XCode","name":"Swift"},{"id":3,"ide":"Visual Studio","name":"C#"}],//整型"pop":ture//布尔类型}import com.google.gson.JsonObject;public class ReadJSON{ public class void main(String[] args){ try{ //建立一个JSON的解析器 //可用解析器解析字符串或者输入流 JsonParser parser = new JosnParser(); //建立一个JSON对象 JsonObject object = parser.parse(new FileReader("test.json")) //读取对象值 //由键索引键值,并依据键值数据类型,转换其格式 System.out.println("cat=" + object.get("cat").getAsString()); System.out.println("pop=" + object.get("pop").getAsBoolean()); //读取数组 JsonArray array = object.get("languages").getAsJsonArray; for (int i =0;i < array.size();i++){ System.out.println("-----------"); JsonObject subObject = array.get(i).getAsJsonObject(); System.out.println("id").getAsInt()); System.out.println("name=" + subobject.get("name").getAsString()); System.out.println("ide=" + subobject.get("ide").getAsString()); }}catch (JsonIOException e){ e.printStackTrace();}catch (JsonSyntaxException e){ e.printStackTrace();}catch (FileNotFoundException e){ e.printStackTrace();}}}import com.google.gson.JsonObject;public class CreatJSON{ public class void main(String[] args){ //创立JSON对象 JsonObject object = new JsonObject(); //添加键值对 object.addProperty("cat","it"); //添加数组 JsonArray array = new JsonArray(); JsonObject lan1 = new JsonObject(); lan1.addProperty("id",1); lan1.addProperty("name","Java"); lan1.addProperty("ide","Eclipse"); array.add(lan1); JsonObject lan2 = new JsonObject(); lan2.addProperty("id",2); lan2.addProperty("name","Swift"); lan2.addProperty("ide","XCode"); array.add(lan2); JsonObject lan3 = new JsonObject(); lan3.addProperty("id",3); lan3.addProperty("name","C#"); lan3.addProperty("ide","Visual Studio"); array.add(lan3); //将这个数组添加进去 object.add("languages",array); //添加布尔 object.addProperty("pop",ture); //输出 System.out.println(object.toString());}