博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Json学习笔记
阅读量:2491 次
发布时间:2019-05-11

本文共 2822 字,大约阅读时间需要 9 分钟。

          JSon:Android SDK官方的一个库。

          Json是当前行业内使用最广泛的一种数据传输格式,是所有开发人员必备的技能之一。

          选择Json,可以作为一种数据返回格式,也可以作为一种数据存储格式。

 

什么是Json,有什么优点

          Json (JavaScript Object Notation),是一种与开发语言无关的、轻量级的数据格式,更确切的是,它是一种数据格式或规范,对人来说具有易读、易编写的性质,对于机器来说易于程序解析与生成。

样例:

{

 “name”:“Terence,

“age”:24.8,

“birthday”:“1990-05-06”,

“school”:”HDU”,

“major”:[“计算机”,“挖掘机”],

“has_girlFriend”:false,

“car”:null,

“house”:null,

“comments”:”这是一个注释”

}

数据表示

数据结构:Object,Array

基本类型:string,number,true,false,null

Object:使用{}包含键值对结构,key必须是string类型,value值为其他任何基本类型或者数据结构。

Array:数组使用中括号[]来表示,使用逗号来分割元素。

Json使用

          在官方网站(http://www.json.org.cn/)上有各种语言的Json包,通过这些包,可以对Json做相应的处理。最常用的就是org.json。

引入依赖

    <dependency>

      <groupId>org.json</groupId>

      <artifactId>json</artifactId>

      <version>20090211</version>

    </dependency>

使用JsonObject实现Json

    private static voidJSONObject(){

        JSONObject terence =newJSONObject();

        Object nullObj=null;

        try {

            terence.put("name","terence");

            terence.put("age",25.9);

            terence.put("birthday","1996-05-06");

            terence.put("school","HDU");

            terence.put("major",new String[]{

"敲键盘","13"});

            terence.put("has_girlfriend",false);

            terence.put("car",nullObj);

            terence.put("house",nullObj);

            terence.put("comment","注释到底");

            System.out.println(terence.toString());

       } catch(JSONException e) {

           // TODOAuto-generated catch block

           e.printStackTrace();

       }  

    }

使用Map实现Json

   private static voidcreateJsonByMap()

    {

       Map<String,Object> terence=new HashMap<String,Object>();

       ObjectnullObj=null;

       terence.put("name","terence");

       terence.put("age",25);

       terence.put("birthday","1990-05-06");

       terence.put("school","HDU");

       terence.put("major",new String[]{

"敲键盘","13"});

       terence.put("has_girlfriend",false);

       terence.put("car",nullObj);

       terence.put("house",nullObj);

       terence.put("comment","注释到底");

       System.out.println(newJSONObject(terence));

    }

 

使用Bean实现Json

Bean Class:

public class DaShen {

   private Stringname;

   private Stringschool;

   private boolean has_girlfriend;

   private double age;

   private Objectcar;

   private Objecthouse;

   private String[]major;

   private Stringcomment;

   private String birthday;

}

 

实现

   private static void createJsonByBean()

   {

      DaShen terence=newDaShen();

      terence.setAge(25.9);

      terence.setBirthday("1990-5-9");

      terence.setSchool("HDU");

      terence.setMajor(new String[]{

"Computer","qiqiqiqi"});

      terence.setHas_girlfriend(false);

      terence.setComment("sha,sha,sha,sha……");

      terence.setCar(null);

      terence.setHouse(null);

      System.out.println(new JSONObject(terence));

   }

Json解析

public class ReadJsonSample {

    //反向解析为一个json

    public static void main(String[] args)throws Exception{

        File file=new File(ReadJsonSample.class.getResource("/data/terence.json").getFile());

        String content=FileUtils.readFileToString(file);

        JSONObject  jsonObject=new JSONObject(content);

        if(!jsonObject.isNull("name"))

        {

            System.out.println("姓名:"+jsonObject.getString("name"));

        }      

        System.out.println("年龄:"+jsonObject.getDouble("age"));

    }

}

转载地址:http://mdlrb.baihongyu.com/

你可能感兴趣的文章
PHP程序性能优化的50种方法
查看>>
css3 动画的播放、暂停和重新开始
查看>>
IOS 上传ipa文件失败
查看>>
eclipse Android 开发基础 Activity 窗体 界面
查看>>
怎样玩转千万级别的数据
查看>>
input输入框修改后自动跳到最后一个字符
查看>>
Windows与Linux之间海量文件的传输与Linux下大小写敏感问题
查看>>
HDU 3948 不同回文子串个数
查看>>
分布式锁的实现方式
查看>>
重定向与转发
查看>>
tslib1.4安装小记
查看>>
rails 5 action cable 服务器部署
查看>>
【ABAP系列】SAP ABAP模块-任意report作为附件以邮件形式发送
查看>>
winfrom 在业务层实现事务控制
查看>>
Leetcode: Valid Parentheses
查看>>
Python
查看>>
自己动手开发调试器 01
查看>>
Python基础-包
查看>>
多线程程序排错总结
查看>>
richTextBoxFontClass
查看>>