java中的JSON操作


一·、JSON简介
JSON是JavaScript对象表示法,是存储和交换文本信息的语法。并且独立于语言和平台。类似于xml,比xml更小、更快、更易解析。———-

二、JSON对象
1、JSON对象在花括号中书写,对象可以包含多个名称/值对:
{“firstname”:”wang”,”lastname”:”hong”}
2、JSON数组在方括号中书写,数组可包含多个对象

{
    "employees":[
        {"firstname":"john","lastname":"doe"},
        {"firstname":"anna","lastname":"smith"}
    ]
}

三、java中读取json数据

import java.io.FileNotFoundException;
import java.io.FileReader;

import com.google.gson.JsonArray;
import com.google.gson.JsonIOException;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.google.gson.JsonSyntaxException;

public class Json_demo {

    public static void main(String[] args) throws JsonIOException, JsonSyntaxException, FileNotFoundException {
        // TODO Auto-generated method stub
        //建立一个json解析器
        JsonParser parser = new JsonParser();
        JsonObject object = (JsonObject) parser.parse(new FileReader("test.json"));
        //get方法获得键,getAs方法获得其值
        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=" + subobject.get("id").getAsInt());
            System.out.println("ide=" + subobject.get("ide").getAsString());
            System.out.println("name" + subobject.get("name").getAsString());

        }

    }

}

四、使用json创建数据

import com.google.gson.JsonArray;
import com.google.gson.JsonObject;

public class Create_Json {

    public static void main(String[] args) {
        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", "VS");
        array.add(lan3);

        object.add("languages", array);

        object.addProperty("pop", true);

        System.out.println(object);

    }

}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值