亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

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下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消