JSON数据数据的解析

JSON

jsonxml的区别:

1.没有结束标签

2.更短

3.读写速度更快

4.使用数组

5.不使用保留字

Json的语法:

Json的语法是javascript对象表示法语法的子集:

1.数据在名称/值对中(这里也把它称为键值对)

2.数据由逗号分隔

3.花括号保存对象

4.方括号保存数组

Json的值可以是:

1.数字(整数或浮点数)

2.字符串(在双引号中)

3.逻辑值(truefalse

4.数组(在方括号中)

5.对象(在花括号中)

6.Null

JSON数据的读取:

//把文件读到字符串中

InputStreamReader isr = new InputStreamReader(getAssets()

.open("test.json"), "UTF-8");

BufferedReader br=new BufferedReader(isr);

String line;

StringBuilder builder=new StringBuilder();

while((line=br.readLine())!=null){

builder.append(line);

}

br.close();

isr.close();

//用一个JSON对象盛放所有数据

JSONObject root=new JSONObject(builder.toString());

System.out.println("cat="+root.getString("cat"));

//用一个JSON数组盛放数组

JSONArray array=root.getJSONArray("languages");

for(int i=0;i<array.length();i++){

JSONObject lan=array.getJSONObject(i);

System.out.println("~~~~~~~~~~~~~~~~~~");

System.out.println("id="+lan.getInt("id"));

System.out.println("ide="+lan.getString("ide"));

System.out.println("name="+lan.getString("name"));

}

JSON数据的写入:

JSONObject root = new JSONObject();

root.put("cat", "it");

//创建JSON对象

JSONObject lan1=new JSONObject();

lan1.put("id", 1);

lan1.put("ide", "eclipse");

lan1.put("name", "java");

JSONObject lan2=new JSONObject();

lan2.put("id", 2);

lan2.put("ide", "xcode");

lan2.put("name", "swift");

//创建一个JSON数组盛放JSON对象

JSONArray array=new JSONArray();

array.put(lan1);

array.put(lan2);

//需要将array添加进根元素中

root.put("languages", array);

//输出JSON

System.out.println("+++++++++++++++++"+root.toString());

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值