ANDROID解析JSON数据

Wesley13
• 阅读 705

这一个环节可以说是卡的比较久的了。对于用惯了php那样的json解析方式的我,头一次使用JAVA的json解析方法,感到非常的头疼。

首先,服务端返回的数据格式如下:

[
    {
        "title":"\u8bdd\u8d39\u514d\u8d39\u62bd",
        "aname":"\u8bdd\u8d39\u514d\u8d39\u62bd",
        "url":"http:\/\/www.yaya888.com\/help-338.html",
        "style":"",
        "image":"\/upload1\/2014\/03\/20140317165244884.png"
    },
    {
        "title":"\u5fae\u56e2\u8d2d",
        "aname":"\u5fae\u56e2\u8d2d",
        "url":"",
        "style":"",
        "image":"\/upload1\/2014\/03\/20140316115154553.png"
    }
]

从这个结构看,第一层是一个数组,数组里面包含的是2个JSON对象。

如果使用PHP则不必担心这些问题,函数会自动处理。但是JAVA不行。

所以,因为第一层是个数组,所以不能使用JSONObject对象来解析这个字符串,而要使用JSONArray;而内层的JSON对象,需要使用JSONObject来解析。

代码如下:

try {
    JSONArray jsonObj = new JSONArray(json);
    int len = jsonObj.length();
    for(int i = 0; i< len; i ++) {
        JSONObject item = jsonObj.getJSONObject(i);
    }
} catch (Exception e){}

这里使用的包为org.json.JSONObject,org.json.JSONArray,没必要去网上下些JSONObject,gson。

至于简单的或者更复杂的json数据结构,无需去理会用什么方法,只需要打印出json。根据每一层的json结构是数组或是json对象,字符串来解析即可。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
liuzhen007 liuzhen007
3年前
Android如何解析json字符串
前言上一篇文章介绍了服务器用Golang如何解析json字符串,今天我们来看看Android客户端是如何解析json字符串的。正文Golang如何解析post请求中的json字符串(https://www.helloworld.net/p/O917HGeiALU2D)使用java语句如何正确解析json字符串呢?举一个例子,假如我们想从rtc_i
Wesley13 Wesley13
3年前
java将前端的json数组字符串转换为列表
记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
Gson解析多层嵌套复杂数据
目前解析json有三种工具:org.json(Java常用的解析),fastjson(阿里巴巴工程师开发的),Gson(Google官网出的),解析速度最快的是Gson,下载地址:https://code.google.com/p/googlegson/(https://www.oschina.net/action/GoToLink?urlhttps
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Wesley13 Wesley13
3年前
Java日期时间API系列30
  实际使用中,经常需要使用不同精确度的Date,比如保留到天2020042300:00:00,保留到小时,保留到分钟,保留到秒等,常见的方法是通过格式化到指定精确度(比如:yyyyMMdd),然后再解析为Date。Java8中可以用更多的方法来实现这个需求,下面使用三种方法:使用Format方法、 使用Of方法和使用With方法,性能对比,使用
Stella981 Stella981
3年前
Gson之实例五
前面四篇博客基本上可以满足我们处理的绝大多数需求,但有时项目中对json有特殊的格式规定.比如下面的json串解析:{"tableName":"students","tableData":{"id":1,"name":"李坤","birthDay":"Jun 22, 2012 9:54:49 PM"},{"id":2,"name":"曹贵生"
Python进阶者 Python进阶者
11个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这