JSON总结



JSON:行业内最为广泛的数据传输格式
定义:是一种与开发语言无关的、轻量级的数据格式,全称JavaScript Object Notation,不支持任何形式的注释
JSON基础知识:

一个简单的JSON样例
{
"name":"JSON快速入门",
"birthday":"1992-08-12",
"content":["JSON基础入门","常用JSON处理"],
"has_grilsfrieds":true,
"cars":null,
"time":{
"value":30.3,
"unit":"分钟"
}
}
解释:首先是一个大括号罩住,表示里面是一个对象,她是一种key-value的存储方式,value有不同的数据类型

数据结构
Object
使用花括号{}包含的键值对结构,key必须是String类型(使用双引号),value为任何基本类型或数据结构
Array
使用中括号[]来进行起始,并用逗号,来分隔元素(这个元素可以是基本类型,也可以是对象)
基本类型
String、number、true、false、null


JSONString接口,JSONObject类 

使用json原生的构建方式
JSONObject wangxiaoer = new JSONObject();
wangxiaoer.put("name","wangxiaoer");
wangxiaoer.put("major",new String[]{"理发","挖掘机"});
wangxiaoer.put("car",null);
System.out.println(wangxiaoer.toString());//转换成字符串


使用Map来构建json对象
Map<String,Object> wangxiaoer= new HashMap<String,Object>();
wangxiaoer.put("name","wangxiaoer");
wangxiaoer.put("major",new String[]{"理发","挖掘机"});
wangxiaoer.put("car",null);
JSONObject json = new JSONObject(wangxiaoer);//支持传入map的对象


 
  使用javaBean构建json对象(即对象的set和get方法)
  WangXiaoEr wangxaioer = new WangXiaoEr();
  wangxaioer.setName("王小二");
  wangxiaoer.setAge(25.2);
  wangxiaer.setMajor(new String[]{"理发","挖掘机"});
  JSONObject json = new JSONObject(wangxiaoer);//支持传入map的对象
 
  从文件读取json
  File file = new File(类.class.getResource("文件名").getFile());
  String content = FileUtils.readFileToString(file);
  JSONObject json = new JSONObject(content);
  System.out.println("姓名是:"+json.getString("name"));
  System.out.println("年龄是:"+json.getDouble("age"));
  System.out.println("是否有女朋友:"+json.getBoolean("has_girlsFriend"));
 
  JSONArray major = json.getJSONArray("major");//当读取的文件中出现数组时,可以转换一下
  for(int i=0;i<major.length();i++){
  String m== (String)major.get(i);
  }
 
  //当从外部文件读取json内容时可能读到空的内容,所以得判断一下
  if(!json.isNull("name")){
  System.out.println("姓名是:"+json.getString("name")); 这样更严谨一些
  }
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

快乐的小三菊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值