前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java中的JSON操作

java中的JSON操作

作者头像
一点儿也不潇洒
发布2018-08-07 10:14:58
1.8K0
发布2018-08-07 10:14:58
举报
文章被收录于专栏:肖洒的博客肖洒的博客

JSON简介

JSON:JavaScript 对象表示法(JavaScript Object Notation) JSON是存储和交换文本信息的语法。

JSON的特点: 1、JSON是轻量级的文本数据交换格式 2、JSON独立于语言和平台 3、JSON具有自我描述性,更易理解

JSON与XML

类似XML,比XML更小、更快,更易解析。 1、没有结束标签 2、更短 3、读写的速度更快 4、使用数组 5、不使用保留字

JSON的语法

JSON语法是JavaScript对象表示法的子集。 1、数据在名称/值对中(键值对) 2、数据由逗号分隔 3、花括号保存对象 4、方括号保存数组 JSON值可以是: 1、数字(整数或浮点数) 2、字符串(在双引号中) 3、逻辑值(true或false) 4、数组(在方括号中) 5、对象(在花括号中) 6、null

JSON对象

JSON对象在花括号中书写,对象可以包含多个名称/值对。

代码语言:javascript
复制
{"firstName":"Jphn","lasrName":"Doe"}

JSON数组

JSON数组在方括号中书写,数组可包含多个对象:

代码语言:javascript
复制
{
"employees":[
{"firstName":"John","lastName":"Doe"},
{"firstName":"Anna","lastName":"Smith"},
{"firstName":"Peter","lastName":"Jones"},
]
}

使用Java读取JSON数据

下载google-gson-2.2.4包 使用gson-2.2.4.jar

代码语言:javascript
复制
//待读取的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//布尔类型
}

代码语言:javascript
复制
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=" + subobject.get("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();
}



}
}

使用Java创建JSON数据

代码语言:javascript
复制
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());
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-05-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • JSON简介
    • JSON与XML
      • JSON的语法
        • JSON对象
          • JSON数组
          • 使用Java读取JSON数据
          • 使用Java创建JSON数据
          相关产品与服务
          对象存储
          对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档