为了账号安全,请及时绑定邮箱和手机立即绑定

Java——读取与创建JSON数据

标签:
Java

采用Java实现解析JSON字符串,创建Java项目工程,需要引入gson-2.8.1.jar.
一.Java读取JSON数据

import java.io.FileReader;

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

/**
 * Java读取json数据
 * @author Huff
 *
 */
public class ReadJson {
    public static void main(String[] args) {
        try {
            //创建json解析器
            JsonParser parser = new JsonParser();
            //创建Json对象
            JsonObject object = (JsonObject) parser.parse(new FileReader("test.json"));
            //获取键值将其转化为字符串
            System.out.println("cat="+object.get("cat").getAsString());  
            System.out.println("pop="+object.get("pop").getAsBoolean());
            //读取JSON数组  创建json数据对象
            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());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }   
    }
}

JSON(test.json)数据如下:

{
  "cat":"it",
  "languages":[
     {"id":1,"ide":"Eclipse","name":"Java"},
     {"id":2,"ide":"XCode","name":"Swift"},
     {"id":3,"ide":"Visual Studio","name":"C#"}
  ],
  "pop":true
}

二.Java创建JSON数据

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

/**
 * Java创建Json数据
 * @author Huff
 *
 */
public class CreatJson {

    public static void main(String[] args) {
        //创建json对象
        JsonObject object = new JsonObject();
        object.addProperty("cat", "it");
        //构建json数组  
        JsonArray array = new JsonArray();

        JsonObject lan1 = new JsonObject();
        lan1.addProperty("id", 1);
        lan1.addProperty("ide", "MyEclipse");
        lan1.addProperty("name", "java");
        //第一个子对象创建好之后,添加到数组中
        array.add(lan1);

        JsonObject lan2 = new JsonObject();
        lan2.addProperty("id", 2);
        lan2.addProperty("ide", "XCode");
        lan2.addProperty(  "name", "Swift");
        //第一个子对象创建好之后,添加到数组中
        array.add(lan2);

        JsonObject lan3 = new JsonObject();
        lan3.addProperty("id", 3);
        lan3.addProperty("ide", "Sublime");
        lan3.addProperty("name", "HTML5");
        //第一个子对象创建好之后,添加到数组中
        array.add(lan3);
        //添加到Object中
        object.add("languages", array);
        object.addProperty("pop", true);

        System.out.println(object.toString());
    }
}
点击查看更多内容
3人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
1.5万
获赞与收藏
8507

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消