fast-json.jar的用法

fast-json.jar 解析json数据:一种json数据解析方式是这种,点击这里下载jsonfast.jar+fastjsonAPI文档

[{"id": 6378,"title": "test","img": "http://image.jxvdy.com/2014/0929/5428d91c9e6dc8f78fd99_0.png","score": 0,"description": "test","time": 1411963174},{"id": 6142,"title": "微电影多角度拍摄技巧(三)","img": "http://image.jxvdy.com/old/201409/24/11-54-15-17-1531.jpg","score": 0,"description": "","time": 1411530850},{"id": 6141,"title": "微电影多角度拍摄技巧(一)","img": "http://image.jxvdy.com/old/201409/24/11-54-04-89-1531.jpg","score": 0,"description": "","time": 1411530835},{"id": 6140,"title": "微电影多角度拍摄技巧(二)","img": "http://image.jxvdy.com/old/201409/24/11-49-54-18-1531.jpg","score": 0,"description": "","time": 1411530552},{"id": 4355,"title": "施比受,更有福","img": "http://image.jxvdy.com/old/201409/24/11-46-06-65-3.jpg","score": 0,"description": "一位老人用自己的一半时间去帮助他人,赠予帮助,收获快乐","time": 1411530082},{"id": 4354,"title": "父子时光之旅","img": "http://image.jxvdy.com/old/201409/24/11-35-13-81-3.jpg","score": 0,"description": "当父亲老去,忙于生活的男人没有时间照应体弱的父亲,于是,带上父亲上路吧,带他重走当年他走过无数遍的那段旅程","time": 1411529699}
]

对于这一种json数据,使用fastjson进行解析的时候,调用方法之前应该先写出其相应的bean.java(我想你已经做过了);上面的json数据相应的bean是这种,

public class NewMoviesBean {private int id;private String title;private String img;private String score;private String description;private int time;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}public String getImg() {return img;}public void setImg(String img) {this.img = img;}public String getScore() {return score;}public void setScore(String score) {this.score = score;}public String getDescription() {return description;}public void setDescription(String description) {this.description = description;}public int getTime() {return time;}public void setTime(int time) {this.time = time;}public NewMoviesBean(int id, String title, String img, String score,String description, int time) {super();this.id = id;this.title = title;this.img = img;this.score = score;this.description = description;this.time = time;}public NewMoviesBean() {super();}@Overridepublic String toString() {return "NewMoviesBean [id=" + id + ", title=" + title + ", img=" + img+ ", score=" + score + ", description=" + description+ ", time=" + time + "]";}}


那么相应的解析方法是这种:

JSON.parseArray(json, NewMoviesBean.class);
为甚么回事这样的解析方式呢?由于,分析整个json数据的格式我们能发现,最外层是中括号"[ ]",内側是大括号"{ }";中括号说明整个json数据为一个数组类型,当中的大括号说明是数组中的元素;说明整个就是一个JSONArray,JSONArray中元素又是一个个的JSONObject。

还有一种的解析方式:json数据是这种,

{"type": ["恐怖","剧情"]},

分析这样的形式,大括号中面是小括号。也即是数组总体是通过键值对的形式呈现的。那么最外层就是一个JSONObject,KEY相应的就是JSONArray。应该这样:

JSONArray jsonArrayType = JSONObject.getJSONArray("type");String[] type = new String[jsonArrayType.size()];for (int j = 0; j < jsonArrayType.size(); j++) {type[j] = (String)jsonArrayType.get(j);}

这样就行解析出想要的数据。

与上面类似的还有一种解析:json数据是这种:

{"playurl": {"360P": "http://v.jxvdy.com/sendfile/V7bzjsH5sIZlBzVG7t7qbL1u-y1_k6E0DCtzyZ8iv-pRF3GmewWOj-HQ_grNppGnnx_rRHb-bztNWAvzGQ","480P": "http://v.jxvdy.com/sendfile/V7bzjsH5sIZlBzVG7t7qbL1u-y1_k6E0DCtzyZ8iv-pRF3GmewWOj-HQ_grNppGnnx_rRHb-bztNWAvzGT","720P": "http://v.jxvdy.com/sendfile/V7bzjsH5sIZlBzVG7t7qbL1u-y1_k6E0DCtzyZ8iv-pRF3GmewWOj-HQ_grNppGnnx_rRHb-bztNWAvzGZ"}}


这样的形式,外层大括号中面是一个键KEY相应了还有一个大括号元素,那么其最外层是一个JSONObject;内层KEY相应的也是一个JSONObject。

当然也能够先创建开一个bean:

public class MoviedefinitionBean {private String normalP;private String hightP;private String superP;public String getNormalP() {return normalP;}public void setNormalP(String normalP) {this.normalP = normalP;}public String getHightP() {return hightP;}public void setHightP(String hightP) {this.hightP = hightP;}public String getSuperP() {return superP;}public void setSuperP(String superP) {this.superP = superP;}public MoviedefinitionBean(String normalP, String hightP, String superP) {super();this.normalP = normalP;this.hightP = hightP;this.superP = superP;}public MoviedefinitionBean() {super();}@Overridepublic String toString() {return "MoviedefinitionBean [normalP=" + normalP + ", hightP=" + hightP+ ", superP=" + superP + "]";}}


然后对此做出解析:

JSONObject jsonObjectDefination = jsonObject.getJSONObject("playurl");String normalP = jsonObjectDefination.getString("360P");String hightP = jsonObjectDefination.getString("480P");String superP = jsonObjectDefination.getString("720P");playurl = new MoviedefinitionBean(normalP, hightP, superP);

今天先写到这里|10-02-2014.

今天接着写我遇到的还有一种解析类型:先给出json数据:

{"1": "爱情","2": "青春","3": "温情","4": "喜剧","5": "悬疑","6": "励志","7": "职场","8": "社会","9": "刑侦","10": "战争","11": "古装","12": "科幻","13": "动作","14": "穿越","15": "广告","16": "公益","17": "恐怖","18": "文艺","19": "纪录","20": "动画","21": "剧情","22": "其它"
}


然后对此做出解析;能够看出上面的json数据是一个JSONObject,而且他也是一种以键值对形式存在的类似Map的数据类型。那么也就是说能够使用遍历Map的方式来解析这个JOSNObject。

public static void jsonParseFilterFields(String json){ids = new LinkedList<Integer>();items = new LinkedList<String>();JSONObject jsonObject = JSONObject.parseObject(json);Iterator<String> it = jsonObject.keySet().iterator();while(it.hasNext()){String key = it.next();ids.add(Integer.valueOf(key));items.add(jsonObject.getString(key));}

待续;2014-10-4
今天有接触到一种高速的解析方法:json数据是这种

{introduce=小猪的成长历程,face=http://www.bejson.com/imgsss,sex=男,nick=猪猪,email=zhuzhu@163.com
}

然后我写了一个用户的个人信息的UserBean

public class UserBean {private String name;private String nick;private String face;private String info;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getNick() {return nick;}public void setNick(String nick) {this.nick = nick;}public String getFace() {return face;}public void setFace(String face) {this.face = face;}public String getInfo() {return info;}public void setInfo(String info) {this.info = info;}public UserBean(String name, String nick, String face, String info) {super();this.name = name;this.nick = nick;this.face = face;this.info = info;}public UserBean() {super();}@Overridepublic String toString() {return "UserBean [name=" + name + ", nick=" + nick + ", face=" + face+ ", info=" + info + "]";}}


然后通过fast-json.jar解析:

/*** 获取用户个人的信息* @param json* @return*/public static UserBean jsonParseUserBean(String json){return JSON.parseObject(json, UserBean.class);}


待续;2014/10/14         

建一个群,方便大家交流:蹦蹦哒Android <群号:423923313>

 

转载于:https://www.cnblogs.com/mengfanrong/p/4296031.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/492517.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从全球制造业的迁移史,看中国制造业未来会怎么走?

来源&#xff1a;挖数&#xff08;ID&#xff1a;washu66&#xff09;摘要&#xff1a;中国制造后续如何发展&#xff1f;翻开全球制造业的迁移史&#xff0c;看是否能从中看出一点端倪。1/ 全球制造业的迁移史1/ 第一次大迁移第一次制造业大迁移发生在20世纪初&#xff0c;由美…

应用|5G时代10大应用场景!

来源&#xff1a;数字化企业摘要&#xff1a;5G商用日益临近&#xff0c;大家可曾想过5G技术未来有哪些具体的应用场景呢&#xff1f;作为5G领跑者的华为公司&#xff0c;早在2年前就出了一份白皮书&#xff0c;这份报告探讨了最能体现5G能力的十大应用场景。简要列表如下1.云V…

标准控件(二)——Calendar

Calendar 日程控件 属性 Borderstyle 边框样式 DayNameFormat 日标头的文本格式 FirstDayOfWeek NextPrevFormat 月导航按钮的格式 方法 DayRender() 在呈现日时激发 protected void Calendar1_DayRender(object sender,…

央行发布论文:区块链能做什么,不能做什么?

来源&#xff1a;悟空智能科央行发布工作论文《区块链能做什么、不能做什么&#xff1f;》&#xff0c;论文称&#xff0c;不要夸大或迷信区块链的功能。区块链应用要立足实际情况。目前区块链投融资领域泡沫明显。论文从经济学角度研究了区块链的功能。首先&#xff0c;在给出…

证明积分

证明积分&#xff1a;$$\int_{-\pi/2}^{\pi/2} (\sin(x))^n dx \frac{n-1}{n}\int_{-\pi/2}^{\pi/2} (\sin(x))^{n-2} dx$$ 证明&#xff1a; \begin{align}\int_{-\pi/2}^{\pi/2} \sin^nx \, dx& -\sin^{n-1}x \cos x\bigg|_{-\pi/2}^{\pi/2} \int_{-\pi/2}^{\pi/2} \co…

图像变换

图像变换有什么用&#xff1f; 图像变换意义&#xff1a; 图像的特征更为突出原来无法直接观测的特征直接显现出来需要提取图像中的特征&#xff0c;便于后续处理及图像理解 常见图像变换&#xff1a; 几何变换&#xff1a;图像放缩、图像平移、图像旋转、图像镜像、图像翻…

UVa 1225 Digit Counting

题意&#xff1a;给出n,将前n个整数顺次写在一起&#xff0c;统计各个数字出现的次数。 用的最笨的办法--直接统计-- 后来发现网上的题解有先打表来做的 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 us…

人工智能产业发展联盟公布首轮AI芯片基准评测结果,评估工具已开源

来源&#xff1a;量子位3月6日&#xff0c;由国际电信联盟、中国信息通信研究院联合主办&#xff0c;人工智能产业发展联盟&#xff08;AIIA&#xff09;和中兴通讯承办的国际论坛“AI in 5G——引领新时代论坛”在深圳召开。来自全球电信运营商、标准组织、互联网企业、设备厂…

软件工程概论第七章

面向对象分析 分析的概念主要有分析类&#xff0c;和分析活动其中分析类中的主要有实体类&#xff0c;边界类&#xff0c;和控制类。知道了分析类主要类型&#xff0c;怎样识别分析类&#xff0c;边界类通常 一个参与者和一个用例之间的交互或通信关联对应一个边界类。控制类负…

图像分割I

为什么要图像分割&#xff1f; 目标 掌握图像分割的基本概念了解图像分割方法分类 目标&#xff1a;将图像划分为不同区域定义&#xff1a;令集合R代表整个图像区域&#xff0c;对R的图像分割可以看作是将R分成N个满足以下条件的非空子集R1,R2,...,RNR_1,R_2,...,R_NR1​,R2​…

MVC中Model BLL层Model模型互转

MVC中Model BLL层Model模型互转 一. 模型通常可以做2种&#xff1a;充血模型和失血模型&#xff0c;一般做法是模型就是模型&#xff0c;不具备方法来操作&#xff0c;只具有属性&#xff0c;这种叫做失血模型(可能不准确)&#xff1b;具备对模型一定的简单操作方法&#xff0c…

OutputCache祥解

当用户訪问页面时&#xff0c;整个页面将会被server保存在内存中&#xff0c;这样就对页面进行了缓存。当用户再次訪问该页&#xff0c;页面不会再次运行数据操作&#xff0c;页面首先会检查server中是否存在缓存&#xff0c;假设缓存存在&#xff0c;则直接从缓存中获取页面信…

图像分割II

区域增长算法 目标 掌握区域生长法的基本思想掌握图像分裂合并分割的基本思想及步骤 区域生长法分割 大津算法的局限性&#xff1a;噪声比较严重的图片、分割目标颜色渐变的情况&#xff0c;分割效果差。 区域生长&#xff1a;从种子点开始&#xff0c;按照一定准则&#x…

205页PPT,看5G+AI引领的下一个时代!

来源&#xff1a;国泰君安证券、暴点摘要&#xff1a;为大家分享一份国泰君安证券关于“电子行业2019年春季投资策略&#xff0c;5GAI系列研究”报告&#xff0c;详看哪些产业将迎来黄金期。预计5G换机高峰期将出现在2020~2023年&#xff0c;届时手机出货量将恢复增长。同时&am…

【转载】Java中各种修饰符与访问修饰符的说明

转&#xff1a;http://handbook.blog.163.com/blog/static/837295522010889212296/ 类&#xff1a; 访问修饰符 修饰符 class 类名称 extends 父类名称 implement 接口名称 &#xff08;访问修饰符与修饰符的位置可以互换&#xff09;访问修饰符名称说明备注public可以被所有…

图像表示与描述

图像表示与描述 目标 掌握常见的基于轮廓特征的描述掌握常见的图像区域特征描述 对目标特征的测量是要利用分割结果进一步从图像中获取有用信息&#xff0c;为达到这个目的需要解决两个关键问题&#xff1a; 选用什么特征来描述目标(定性)如何精确测量这些特征(定量) 常见…

RISV-V未来将面临怎样的挑战?

来源&#xff1a;MoneyDJ、半导体行业观察继大陆的RISC-V联盟成立之后&#xff0c;台湾RISC-V联盟也在今年正式成立&#xff0c;这也让RISC-V的议题热度逐渐加温&#xff0c;事实上这也是许多人看好能够足以与ARM竞争的架构&#xff0c;加上目前许多国际大厂陆续采用RISC-V架构…

使用matlab程序,基于标准卡标定感压纸的压力分布

任务说明 使用富士感压纸(压力测试纸)测量压力&#xff0c;感压纸受压时会显现颜色&#xff0c;根据峰值应力呈现不同的颜色深度。感压制提供了标准比色卡&#xff0c;给出不同颜色深度对应的压力值。 要求使用matlab&#xff0c;对照标准比色卡&#xff0c;对实验中使用的比…

斯坦福大学陈丹琦等人解读机器阅读最新进展:超越局部模式匹配

来源&#xff1a;AI 科技评论不久前&#xff0c;斯坦福大学的计算机科学博士陈丹琦的一篇长达 156 页的毕业论文《Neural Reading Comprehension and Beyond》成为「爆款文章」&#xff0c;一时引起了不小轰动。而本文是她与同样师从 Christopher Manning 的同学 Peng Qi 一起发…

Cache技术―OSCache

Cache技术―OSCache 版权声明&#xff1a;转载时请以超链接形式标明文章原始出处和作者信息及本声明http://aumy2008.blogbus.com/logs/36462938.html一、简介 Cache是一种用于提高系统响应速度、改善系统运行性能的技术。尤其是在Web应用中&#xff0c;通过缓存页面的输出结…