解析Json时,昨天遇到了新的问题,之前都是解析的数组,不是数组的用类来做。

这是Json串;

{"status":"00001","ver":"1.0","msg":"ok","result":{"init_id":"13","init_time":"2015-12-30 00:00:00","init_title":"\u7bee\u7403\u7ea6\u67b6","init_lati":"31.19","init_longti":"120.37","init_location":"\u82cf\u5dde","commit_init_users":[{"commits_id":"25","commit_images":{"pub_img":["Public\/dd\/201512\/22\/5678ad286dfb8.jpg"],"pub_th_img":["Public\/dd\/thumb\/antu_5678ad286dfb8.jpg"]},"user_id":"1234648","user_head_url":"Public\/tmp\/7004.jpg","commits_time":"2015-12-30 00:00:00","commits_comments":" \u77ed\u53d1\n","commits_flg":"0","count":1},{"commits_id":"26","commit_images":{"pub_img":["Public\/dd\/201512\/22\/5678ad30337d8.jpg"],"pub_th_img":["Public\/dd\/thumb\/antu_5678ad30337d8.jpg"]},"user_id":"1234649","user_head_url":"Public\/tmp\/7005.jpg","commits_time":"2015-12-20 00:00:00","commits_comments":"\u5404\u4f4d\n","commits_flg":"0","count":1},{"commits_id":"40","commit_images":{"pub_img":["Public\/dd\/201512\/22\/5678ac6ec7a53.jpg","Public\/dd\/201512\/22\/5678ac7535f56.jpg"],"pub_th_img":["Public\/dd\/thumb\/antu_5678ac6ec7a53.jpg","Public\/dd\/thumb\/antu_5678ac7535f56.jpg"]},"user_id":"1234648","user_head_url":"Public\/tmp\/7004.jpg","commits_time":"2015-12-30 00:00:00","commits_comments":"\u7bee\u7403\u7ea6\u67b6","commits_flg":"1","count":2}],"all_count":4}}

这是解析这条Json的JavaBean对象:

/**JavBean对象的父类
* Created by cyc on 16-1-4.
*/
public class Response_Header_Info {
@Expose
public String status;//状态
@Expose
public String ver;//版本
@Expose
public String msg;//是否OK public String getStatus() {
return status;
} public String getVer() {
return ver;
}
}
/**
 * Square界面的Json对象
* Created by cyc on 16-1-4.
*/
public class Response_Square_Callup_Recommend_Info extends Response_Header_Info {
private static final String TAG = "Response_Square_Callup_Recommend_Info"; /**一条广场活动的信息总和*/
@Expose
public Squre_Activity_all result; /**
* 一条广场活动信息的总和
*/
public class Squre_Activity_all {
/**所有参与这个活动的用户集合*/
@Expose
public ArrayList<Init_users> commit_init_users; /**活动的图片总数*/
@Expose
public int image_count;
/**发起事件ID*/
@Expose
public int init_id;
/**事件的经度*/
@Expose
public float init_lati;
/**事件的地点*/
@Expose
public String init_location;
/**事件的纬度*/
@Expose
public float init_longti;
/**发起事件的时间*/
@Expose
public String init_time;
/**发起事件的标题*/
@Expose
public String init_title;
/**所有参与人和发起人发起图片的总和*/
@Expose
public int all_count; } /**
* 参与这个活动的用户类
*/
public class Init_users {
/**参与人的评论*/
@Expose
public String commits_comments;//字段仔细别写错
/**是否活动发起人*/
@Expose
public int commits_flg;
/**参与发起的ID*/
@Expose
public int commits_id;
/**参与发起的时间*/
@Expose
public String commits_time;
/**参与事件人的头像*/
@Expose
public String user_head_url;
/**用户的ID*/
@Expose
public int user_id;
/**发布图片的数量*/
@Expose
public int count; /**参与人发的所有图片的类*/
@Expose
public Img commit_images;
}
/**参与人发的图片(缩略图和大图)*/
public class Img{
/**大图集合*/
@Expose
public ArrayList<String> pub_img;
/**缩略图集合*/
@Expose
public ArrayList<String> pub_th_img;
}
}

根据这个Json串的解析,绝大多数的Json都是这样解析的,一定要小心字段别写错了,要点: { 开头的字段用类来描述    [ 开头的字段用集合来描述

Json解析要点的更多相关文章

  1. 高手教您编写简单的JSON解析器

    编写JSON解析器是熟悉解析技术的最简单方法之一.格式非常简单.它是递归定义的,所以与解析Brainfuck相比,你会遇到轻微的挑战 ; 你可能已经使用JSON.除了最后一点之外,解析 Scheme的 ...

  2. Android okHttp网络请求之Json解析

    前言: 前面两篇文章介绍了基于okHttp的post.get请求,以及文件的上传下载,今天主要介绍一下如何和Json解析一起使用?如何才能提高开发效率? okHttp相关文章地址: Android o ...

  3. Json解析工具的选择

    前言 前段时间@寒江不钓同学针对国内Top500和Google Play Top200 Android应用做了全面的分析(具体分析报告见文末的参考资料),其中有涉及到对主流应用使用json框架Gson ...

  4. iOS json 解析遇到error: Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed.

    Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 38 ...

  5. Android之JSON解析

    做个Android网络编程的同学一定对于JSON解析一点都不陌生,因为现在我们通过手机向服务器请求资源,服务器给我们返回的数据资源一般都是以JSON格式返回,当然还有一些通过XML格式返回,相对JSO ...

  6. Android总结之json解析(FastJson Gson 对比)

    前言: 最近为了统一项目中使用的框架,发现项目中用到了两种json解析框架,他们就是当今非常主流的json解析框架:google的Gson 和阿里巴巴的FastJson,为了废除其中一个所以来个性能和 ...

  7. JSON解析和XML解析对比

    JSON解析和XML解析是较为普遍的两种解析方式,其中JSON解析的市场分额更大.本文系统的分析两种解析方式的区别,为更好地处理数据作准备.由于目前阶段主要是做移动开发,所以本文所描述的JSON解析和 ...

  8. iOS json解析的几种方法 NSJSONSerialization,JSONKit,SBJson ,TouchJson

    相关的第三方类库大家可以去github上下载 1.NSJSONSerialization 具体代码如下 : - (void)viewDidLoad { [super viewDidLoad]; NSD ...

  9. Json解析工具Jackson(使用注解)

    原文http://blog.csdn.net/nomousewch/article/details/8955796 接上一篇文章Json解析工具Jackson(简单应用),jackson在实际应用中给 ...

随机推荐

  1. 笔记一:OOAD与UML

    一.面向对象的概念与方法 1.  面向对象 1.1. 面向对象是一种系统建模技术 1.2. 面向对象编程是按照OO的方法学来开发程序的过程 1.3. 通过分析系统内对象的交互来描述或建模一个系统 1. ...

  2. 关于oracle数据库(3)

    show user ; 查看当前用户的名称 select * from tab;  查看当前用户有哪些表 删除用户 drop user jky cascade; //cascade; 意思是级联操作 ...

  3. k个区间相交的段落数 Educational Codeforces Round 4 D

    http://codeforces.com/contest/612/problem/D 题目大意:给你n个区间,这n个区间会有相交的部分,如果一个区间相交的部分>=k,那么就把这个区间记录下来. ...

  4. PHP验证码类

    通过PHP的GD库图像处理内容,设计一个验证码类Vcode.将该类声明在文件vcode.class.php中,并通过面向对象的特性将一些实现的细节封装在该类中.只要在创建对象时,为构造方法提供三个参数 ...

  5. Html复杂表头的实现

    实现效果 代码实现

  6. Mysql CPU占用高的问题解决方法小结

    通过以前对mysql的操作经验,先将mysql的配置问题排除了,查看msyql是否运行正常,通过查看mysql data目录里面的*.err文件(将扩展名改为.txt)记事本查看即可.如果过大不建议用 ...

  7. 关于Linode、Digitalocean、Vultr三款美国VPS服务商的用户体验

    曾几何时,虽然我们在海外VPS服务商中也可以看到各种大大小小的商家,但是真正能让Linode这样高富帅有竞争力的还真不多,这不当初在Linode商家512MB内存方案卖20美元一个月的时候,还是有很多 ...

  8. ios UIApplocation 中APP启动方式

    iOS app启动的方式有哪些: 自己启动(用户手动点击启动) urlscheme启动(关于urlScheme的详解)http://www.cnblogs.com/sunfuyou/p/6183064 ...

  9. MFC中将编辑框文本转换成整数,从而实现两个整数相加。

    在头文件中,定义三个控件变量,如m_data1,m_data2,m_sum; void Cuse_demo_dllDlg::OnBnClickedButton1(){ CString data1; C ...

  10. LeetCode OJ 99. Recover Binary Search Tree

    Two elements of a binary search tree (BST) are swapped by mistake. Recover the tree without changing ...