Android JSON基础
Posted 彬sir哥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android JSON基础相关的知识,希望对你有一定的参考价值。
一.JSON基础知识
1.几个例子
1.例子:Array里面包含对象(object)
[
{
"id":1,
"name":"小猪",
"age":22
},
{
"id":2,
"name":"小猫",
"age":23
}
]
Array里面的对象数据是有序的
2.例子:对象(object)中可以包含Array
一个对象包含1个数组,2个子对象
{
"root":[
{
"id":"001",
"name":"小猪"
},
{
"id":"002",
"name":"小猫"
},
{
"id":"003",
"name":"小狗"
}
],
"total":3,
"success":true
}
其中这里的root对应的值是数组数据,total对应的值是一个int类型数据,success对应的是一个布尔类型数据;其中root对应的值里面还有很多数据
3.例子:以对象嵌套子对象,子对象再嵌套数据
{
"calendar":{
"calendarlist":[
{
"id":"001",
"name":"小猪"
},
{
"id":"002",
"name":"小猫"
}
]
}
}
这里的数据最外层只有一个键值对:calendar对应对象value1,value1里面也是只有一个键值对:calendarlist对应数组数据ArrayValue,ArrayValue里面又两个有序对象,这两个有对象里面都有两个无序的数据
二.JSON解析数据的一个简单示例演示
1.比如从网络中获取到下面的一段字符串,需要去解析到每一个动物的姓名和它的图片URL网址
{
"root":[
{
"id":"001",
"name":"小猪",
"img":"StringURL1"
},
{
"id":"002",
"name":"小猫",
"img":"StringURL2"
},
{
"id":"003",
"name":"小狗",
"img":"StringURL3"
}
],
"total":3,
"success":true
}
2.解析过程的语句
创建两个数组用来存储数据
String[] names=new String[3];
String[] imgURLs=new String[3];
//数据的获取过程
JSONObject jsonObject = new JSONObject(s)
JSONArray array =jsonObject.optJSONArray("root");//获得json数组,数组里面有三个对象
for (int i = 0; i < array.length(); i++) {
JSONObject obj = array.optJSONObject(i);//数组数据是根据游标值获取
names[i]=obj.optString(“name”);//获取名字
imgURLs[i]=obj.optString(“img”);//获取图片的URL
}
以上是关于Android JSON基础的主要内容,如果未能解决你的问题,请参考以下文章
Android 从片段中检索 Json 并在另一个活动中使用
如何将本地存储中的 JSON 对象添加到 Android Studio 上的片段列表