Android开发之JSON使用

Android开发之JSON使用

今天在论坛看到有不少朋友问关于json的问题,所以想写一篇关于android中使用json的博客。

首先

json是什么
JSON的全称是JavaScript Object Notation,从这里可以看到它源于JavaScript,它采用文本形式体现。比如
{"name":"zhangsan","age":20,"wife":"如花"}
这个简单表示了一个对象,在java中,类是这样的
public class Person{
    String name;
    int age;
    String wife;
    getter...
    setter...
}
json的组成

 1. 采用键值对方式组成基本元素,其中key是属性,value是对应的属性值
 2. {}用来保存对象
 3. []用来保存数组
 4. 用,分割元素
 5. json中数据类型没有严格的划分,所以在使用的过程中注意这点
所以,常见的json文本中存在对象({})和数组([]),只要掌握了长些基本要素,学会了如何将json文本准确的转化成class,那么json对你来说你就掌握了。

对于新手而言,常常会对json的内容理解不到位,或者没有对json文本进行校验就去解析。这里提供一款在线的json校验工具:bejson


Android json解析库

这里,我只推荐fastjson这个库。这个库是alibaba开源的,原本用于javaee中,后来进过简化,对于android支持也很好。
源码地址:https://github.com/alibaba/fastjson
在branches中可以看到不同版本的for android的源码,一般使用最新稳定版本即可。

下面,如何使用fastjson,核心类com.alibaba.fastjson.JSON

1. 将对象转化为json字符串

JSON.toJSONString(Object obj);

2 .将json字符串转化为对象

 JSON.parse();
 JSON.parseObject(String text, Class<T> clazz);
 等还有很多方法,下面我具体说一下通过泛型转化指定的类对象。

json示例

{
    "name": "中国",
    "province": [{
        "name": "黑龙江",
        "cities": {
            "city": ["哈尔滨", "大庆"]
        }
    }, {
        "name": "广东",
        "cities": {
            "city": ["广州", "深圳", "珠海"]
        }
    }, {
        "name": "台湾",
        "cities": {
            "city": ["台北", "高雄"]
        }
    }, {
        "name": "新疆",
        "cities": {
            "city": ["乌鲁木齐"]
        }
    }]
}
对于以上的json传,我们可以看到最外层是一个对象,这个对象包含两个键值对,name和province。其中name是属性值为String型,province是一个对象数组,那么对应的java类如下

public class Citys{
    String name;
    List<Province> province;
    public void setName(String name){
        this.name = name;
    }
    public String getName(){
        return name;
    }
    public void setProvince(List<Province> province){
        this.province = province;
    }
    public List<Province> getProvince(){
        return province;
    }
    //这是一个内部类,必须要用static class,负责内部类无法通过反射
    public static class Province{
        String name;
        List<String> cities;
        public void setName(String name){
            this.name = name;
        }
        public String getName(){
            return name;
        }
        public void setCities(List<String> cities){
            this.cities = cities;
        }
        public List<String> getCities(){
            return cities;
        }
    }
}

上面是通过一个类搞定,内部类使用的时候需要static class修饰。
当然也可以拆分为两个类,我这里就不说了。
所有属性必须要有getter和setter。

使用是不是很简单呢。

一般我拿到json传的处理方式是,通过json格式化之后,就可以迅速写出json对应的class。
格式化工具推荐:chrome浏览器插件fehelper,还有就是上面所说的bejson

最后

json使用的地方越来越多,对于常用的json数据转化也是最基本的要求。
这个只要根据上面所提到的,认真分解json数据格式,没有任何难点。
如果对于json有任何问题的,欢迎咨询。
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Android Studio中,可以使用JSON来处理数据。JSON是一种轻量级的数据交换格式,常用于Web应用程序和移动应用程序中。以下是在Android Studio中使用JSON的一些步骤: 1. 导入JSON库:在build.gradle文件中添加以下依赖项: ``` dependencies { implementation 'com.google.code.gson:gson:2.8.6' } ``` 2. 创建JSON对象:可以使用Gson库创建JSON对象。例如: ``` Gson gson = new Gson(); String json = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}"; Person person = gson.fromJson(json, Person.class); ``` 3. 解析JSON数据:可以使用JSON对象的get()方法获取JSON数据。例如: ``` JSONObject jsonObject = new JSONObject(json); String name = jsonObject.getString("name"); int age = jsonObject.getInt("age"); String city = jsonObject.getString("city"); ``` 4. 生成JSON数据:可以使用JSON对象的put()方法生成JSON数据。例如: ``` JSONObject jsonObject = new JSONObject(); jsonObject.put("name", "John"); jsonObject.put("age", 30); jsonObject.put("city", "New York"); String json = jsonObject.toString(); ``` 以上是在Android Studio中使用JSON的一些基本步骤。使用JSON可以方便地处理数据,使得应用程序更加灵活和可扩展。 ### 回答2: Android Studio是一款强大的集成开发环境,支持开发Android应用程序。在Android开发中,处理JSON数据是非常常见的任务之一。 Android Studio提供了许多工具和类库,使得JSON使用更加方便。以下是一些在Android Studio中处理JSON数据的常用方法: 1. 解析JSON数据:Android Studio提供了JsonReader和JsonParser等类库,可以用来解析JSON数据。通过这些类库,可以将JSON数据解析为Java对象,并在应用程序中进行操作。 2. 创建JSON数据:Android Studio还提供了JsonWriter和JsonGenerator等类库,可以用来创建JSON数据。通过这些类库,可以将Java对象转换为JSON格式,并在应用程序中进行传输、存储等操作。 3. 处理JSON数组:Android Studio中的JSONArray类可以用来处理JSON数组数据。通过JSONArray类,可以遍历JSON数组、获取数组中的元素,并进行相应的操作。 4. 处理JSON对象:Android Studio中的JSONObject类可以用来处理JSON对象数据。通过JSONObject类,可以获取JSON对象中的属性值,并进行相应的操作。 除了以上方法外,Android Studio还提供了其他一些便捷的方法,如使用Gson库进行JSON数据的序列化和反序列化、使用Retrofit库进行网络请求时自动解析JSON数据等。 总而言之,在Android Studio中使用JSON非常方便。通过相关的类库和工具,可以轻松地解析和创建JSON数据,处理JSON数组和对象,并进行数据传输、存储等操作。掌握这些方法,可以更高效地开发Android应用程序。 ### 回答3: 在Android Studio中,使用JSON(JavaScript Object Notation)可以方便地进行数据的传输和解析。以下是使用JSON的一些常见方法和注意事项: 1. 创建JSON对象:可以使用JSONObject类来创建一个空的JSON对象。通过调用其put()方法,可以将键值对添加到JSON对象中。 2. 解析JSON字符串:可以使用JSON对象的构造函数来解析JSON字符串,将其转换为相应的Java对象。例如,可以通过调用JSONObject的构造函数并传入一个JSON字符串,将其转换为JSON对象。 3. 访问JSON对象中的数据:可以使用JSON对象的get()方法来访问JSON对象中的数据。通过指定键值,可以获取相应的值并将其转换为所需的数据类型。 4. 创建JSON数组:可以使用JSONArray类来创建一个空的JSON数组。通过调用其put()方法,可以将元素添加到JSON数组中。 5. 解析JSON数组:可以使用JSONArray类的构造函数来解析JSON数组。通过将JSON数组作为参数传递给构造函数,可以将其转换为Java中的JSONArray对象。 6. 访问JSON数组中的数据:可以使用JSONArray对象的get()方法来访问JSON数组中的数据。通过指定索引,可以获取相应位置的值并将其转换为所需的数据类型。 在使用JSON时,还需要注意以下几点: 1. 判断JSON是否为空:可以使用JSON对象的isNull()方法来判断一个JSON对象是否为空。 2. 处理异常:在解析JSON时,可能会发生异常。为了避免应用程序崩溃,应该使用try-catch语句来处理异常。 3. 注意JSON的格式:JSON的格式必须符合规定的格式要求,否则可能会导致解析失败。 4. 处理特殊字符:在处理JSON字符串时,需要注意转义特殊字符,例如双引号、换行符等。 总而言之,Android Studio提供了丰富的工具和类库来支持JSON使用。通过学习和掌握这些方法,可以方便地在Android应用中进行JSON数据的传输和解析。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值