Json解析要点
解析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解析要点的更多相关文章
- 高手教您编写简单的JSON解析器
编写JSON解析器是熟悉解析技术的最简单方法之一.格式非常简单.它是递归定义的,所以与解析Brainfuck相比,你会遇到轻微的挑战 ; 你可能已经使用JSON.除了最后一点之外,解析 Scheme的 ...
- Android okHttp网络请求之Json解析
前言: 前面两篇文章介绍了基于okHttp的post.get请求,以及文件的上传下载,今天主要介绍一下如何和Json解析一起使用?如何才能提高开发效率? okHttp相关文章地址: Android o ...
- Json解析工具的选择
前言 前段时间@寒江不钓同学针对国内Top500和Google Play Top200 Android应用做了全面的分析(具体分析报告见文末的参考资料),其中有涉及到对主流应用使用json框架Gson ...
- 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 ...
- Android之JSON解析
做个Android网络编程的同学一定对于JSON解析一点都不陌生,因为现在我们通过手机向服务器请求资源,服务器给我们返回的数据资源一般都是以JSON格式返回,当然还有一些通过XML格式返回,相对JSO ...
- Android总结之json解析(FastJson Gson 对比)
前言: 最近为了统一项目中使用的框架,发现项目中用到了两种json解析框架,他们就是当今非常主流的json解析框架:google的Gson 和阿里巴巴的FastJson,为了废除其中一个所以来个性能和 ...
- JSON解析和XML解析对比
JSON解析和XML解析是较为普遍的两种解析方式,其中JSON解析的市场分额更大.本文系统的分析两种解析方式的区别,为更好地处理数据作准备.由于目前阶段主要是做移动开发,所以本文所描述的JSON解析和 ...
- iOS json解析的几种方法 NSJSONSerialization,JSONKit,SBJson ,TouchJson
相关的第三方类库大家可以去github上下载 1.NSJSONSerialization 具体代码如下 : - (void)viewDidLoad { [super viewDidLoad]; NSD ...
- Json解析工具Jackson(使用注解)
原文http://blog.csdn.net/nomousewch/article/details/8955796 接上一篇文章Json解析工具Jackson(简单应用),jackson在实际应用中给 ...
随机推荐
- javascript点击焦点图
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- windows service and process 的关系
1.查询windows 对应的服务 sc query > 1.txt notepad 1.txt 2.查询对应的进程信息 tasklist /m > tasks.txt notepad t ...
- Centos6.6安装Nginx
1.在安装nginx之前,需要先安装该模块需要依赖包 yum -y install zlib zlib-devel openssl openssl--devel pcre pcre-devel 2.安 ...
- HDU - 5547 Sudoku(数独搜索)
Description Yi Sima was one of the best counselors of Cao Cao. He likes to play a funny game himself ...
- android 按钮Button单击背景切换
res/drawable/btn_selected.xml <?xml version="1.0" encoding="utf-8"?> <s ...
- C语言_基础代码_01
#include<stdio.h> #include<stdlib.h> #define BUFFERSIZE 1024/*允许处理的最长行有1024个字符*/ /*编译环境v ...
- LeetCode OJ 95. Unique Binary Search Trees II
Given n, generate all structurally unique BST's (binary search trees) that store values 1...n. For e ...
- java中的Unicode中文转义
String ori = "\u5e7f\u4e1c"; public static String convertUnicode(String ori) { char aChar; ...
- androidstudio 问题
Error:(1, 1) A problem occurred evaluating project ':app'. > Failed to apply plugin [id 'com.andr ...
- C#窗口实现最小化到系统托盘
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...