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

Json学习笔记~~~~~~~简单记

标签:
Java


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"));

}

}

点击查看更多内容
TA 点赞

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

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

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

举报

0/150
提交
取消