Android 解析JSON数据

这篇具有很好参考价值的文章主要介绍了Android 解析JSON数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

第一种使用JSONObject解析JSON数据,这是Android中最基本的数据解析方式

fromJson("{'status':200," +
                    "'message':'ok'," +
                    "'people':{" +
                    "'username':'LiLy'," +
                    "'phone':'13189720413'," +
                    "'headerImg':'https://img0.baidu.com/it/u=1521420901,2700109129&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=313'}}");
private void fromJson(String s) {
        Me me=new Me();
        JSONObject jsonObject= null;
        try {
            jsonObject = new JSONObject(s);
            int status=jsonObject.optInt("status");
            me.setStatus(status);

            String message=jsonObject.optString("message");
            me.setMessage(message);

            JSONObject uesrJson=jsonObject.optJSONObject("people");
            String username=uesrJson.optString("username");
            String phone=uesrJson.optString("phone");
            String headerImg=uesrJson.optString("headerImg");
            me.setPeople(new People(username,phone,headerImg));

            Log.d("","Json======"+status+"\t"+message+"\t"+username+"\t"+phone+"\t"+headerImg);

        } catch (JSONException e) {
            e.printStackTrace();
        }
    }

第二种方式通过GSON去解析JSON数据

 同样的数据格式

objectFromJson("{'status':200," +
                "'message':'ok'," +
                "'people':{" +
                "'username':'LiLy'," +
                "'phone':'13189720413'," +
                "'headerImg':'https://img0.baidu.com/it/u=1521420901,2700109129&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=313'}}");
    private void objectFromJson(String s) {

        Gson gson=new Gson();
        Me me = gson.fromJson(s, Me.class);
        Log.d("","me======="+me.toString());

    }

GSON的数据解析看起来代码量相对小一点,但所创建的类也是必须的

第一个支持的类,此类为自定义名字,为了方便随意起的,但在项目中要正规取名,见名知意

 class Me{
        int status;
        String message;
        People people;
public Me(){}

        public Me(int status, String message, People people) {
            this.status = status;
            this.message = message;
            this.people = people;
        }

        public int getStatus() {
            return status;
        }

        public void setStatus(int status) {
            this.status = status;
        }

        public String getMessage() {
            return message;
        }

        public void setMessage(String message) {
            this.message = message;
        }

        public People getPeople() {
            return people;
        }

        public void setPeople(People people) {
            this.people = people;
        }

        @Override
        public String toString() {
            return "Me{" +
                    "status=" + status +
                    ", message='" + message + '\'' +
                    ", people=" + people +
                    '}';
        }
    }

第二个支持的类文章来源地址https://www.toymoban.com/news/detail-514638.html

class People {
    private String username;
    private String phone;
    private String headerImg;

    public People(String username, String phone, String headerImg) {
        this.username = username;
        this.phone = phone;
        this.headerImg = headerImg;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getHeaderImg() {
        return headerImg;
    }

    public void setHeaderImg(String headerImg) {
        this.headerImg = headerImg;
    }

    @Override
    public String toString() {
        return "People{" +
                "username='" + username + '\'' +
                ", phone='" + phone + '\'' +
                ", headerImg='" + headerImg + '\'' +
                '}';
    }

到了这里,关于Android 解析JSON数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android:Json-Gson数据解析

     JSONObject jsonObject = new JSONObject();             jsonObject.put(\\\"name\\\",\\\"admin\\\");             jsonObject.put(\\\"passWord\\\",\\\"123456\\\");             //jsonObject.getString(\\\"name\\\")            // textView.setText(jsonObject.toString());             //谷歌:api             JsonObject jsonObject1 = new JsonObject();      

    2024年02月17日
    浏览(51)
  • ClassCastException: com.alibaba.fastjson.JSONObject cannot be cast to 接口json数据转换异常。

    之前在使用fastjson进行接口传输数据时,碰到接收端数据转换异常问题,难了我好久。 例如:我们需要将json转换成实例集合 通常对JSON对象的转换操作是使用 强转 导致一些朋友对实例对象的操作也是进行强转 如下 这样的话我们在对 list 操作时就会报类似如下错误 所以之后

    2024年02月10日
    浏览(45)
  • 爬虫系列实战:使用json解析天气数据

    大家好,爬虫是一项非常抢手的技能,收集、分析和清洗数据是数据科学项目中最重要的部分,本文介绍使用json解析气象局天气数据。 在官网上获取天气数据信息,可以定义当前查询的位置,提取时间、温度、湿度、气压、风速等信息,并导入requests、matplotlib这些需要用到

    2024年01月18日
    浏览(39)
  • Python JSON 使用指南:解析和转换数据

    JSON 是一种用于存储和交换数据的语法。JSON 是文本,使用 JavaScript 对象表示法编写。 Python 有一个内置的 json 包,可用于处理 JSON 数据。 示例 :导入 json 模块: 如果您有一个 JSON 字符串,可以使用 json.loads() 方法来解析它。结果将是一个 Python 字典。 示例 :从 JSON 转换为

    2024年02月06日
    浏览(48)
  • Mybatis实现JsonObject对象与JSON之间交互

    项目中使用PostGresql数据库进行数据存储,表中某字段为Json类型,用于存储Json格式数据。PG数据库能够直接存储Json算是一大特色,很多特定情境下使用直接存储Json字段数据能够大量节省开发时间,提高后台数据查询和转换效率。 如果我们有一个JSONObject属性的字段需要与数据

    2024年02月14日
    浏览(53)
  • JSONObject详解(net.sf.json-lib)-json-lib

    在程序开发过程中,在参数传递,函数返回值等方面,越来越多的使用JSON。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,同时也易于机器解析和生成、易于理解、阅读和撰写,而且Json采用完全独立于语言的文本格式,这使得Json成为理想的数据交换语言。 JSON建构于

    2024年02月21日
    浏览(51)
  • JSON转换:实体类和JSONObject互转,List和JSONArray互转,map和JSONObject,JSONarray互转(fastjson版)

    1.实体类和JSONObject互转 2.List和JSONArray互转 3.Map和JSONObject互转(同1.) 4.ListMap和JSONArray互转(同2.) 5.取数据 6.JSONArray转String{} 7.数组转jsonarry 注: 由上示例可知任意数据类型均可通过JSON.toJSON(xxx)转换成对应的JSONObject或JSONArray

    2024年01月19日
    浏览(54)
  • 使用HTTP方式发送请求及json数据的接收和解析

    目录 需求 请求端 1,添加依赖 2,请求对象 3,请求工具类 4,请求测试(事先开启接收端的服务) 接收端 数据请求模拟 本项目需要通过向对端第三方项目发送一个http的post类型的请求,并且指定了一些请求字段,数据传输采用了json,对请求头没有其他特殊要求,所以这里写

    2024年01月17日
    浏览(84)
  • 记录 JSONObject.parseObject json对象转换 对象字段为null

            使用websocket 接收消息都是String类型,没办法自定义实体类接收,所以接发都必须将json 转 对象 对象转 json。         这是我最开始的实体类,也就是转换的类型        websocket 前端还没完成开发,我使用postman 测试            刚开始我是按照平常发送请求的格式

    2024年02月10日
    浏览(39)
  • Logstash:如何使用 Logstash 解析并摄入 JSON 数据到 Elasticsearch

    在我之前的文章 “Logstash:Data 转换,分析,提取,丰富及核心操作” 有涉及到这个话题。今天我想使用一个具体的例子来更深入地展示。   我们先来把如下的数据拷贝下来,并保存到一个叫做 sample.json 的文件中。我们可以把这个文件置于 Logstash 的安装根目录下。 sample.j

    2024年02月02日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包