JAVA简便解析json文件
JAVA简便解析json文件
首先放上我要解析的json文件:
{ "resultcode":"200", "reason":"Success", "result":{ "data":[ { "id":"14", "title":"红烧肉", "tags":"家常菜;老年人;咸;半小时-1小时;青少年;白领;红烧;1-2人;炒锅", "imtro":"加了鹌鹑蛋,祝大家岁岁平“鹌”。", "ingredients":"五花肉,250g;萝卜,100g;鹌鹑蛋,20个", "burden":"油,适量;盐,适量", "albums":[ "http:\/\/juheimg.oss-cn-hangzhou.aliyuncs.com\/cookbook\/t\/0\/14_359794.jpg" ], "steps":[ { "img":"http:\/\/juheimg.oss-cn-hangzhou.aliyuncs.com\/cookbook\/s\/1\/14_706ca81e0bbecefe.jpg", "step":"1.带皮五花肉 ,鹌鹑蛋,白萝卜备用。" }, { "img":"http:\/\/juheimg.oss-cn-hangzhou.aliyuncs.com\/cookbook\/s\/1\/14_dc89a7e8f2823202.jpg", "step":"2.配料备用。" }, { "img":"http:\/\/juheimg.oss-cn-hangzhou.aliyuncs.com\/cookbook\/s\/1\/14_ae5efcd7698c7a51.jpg", "step":"3.鹌鹑蛋煮熟后去皮,备用。" }, { "img":"http:\/\/juheimg.oss-cn-hangzhou.aliyuncs.com\/cookbook\/s\/1\/14_6246ae9cde95a443.jpg", "step":"4.白萝卜洗净,切大块。" }, { "img":"http:\/\/juheimg.oss-cn-hangzhou.aliyuncs.com\/cookbook\/s\/1\/14_fa36e18ba88ba812.jpg", "step":"5.五花肉,洗净切大块。" }, { "img":"http:\/\/juheimg.oss-cn-hangzhou.aliyuncs.com\/cookbook\/s\/1\/14_fb6017cd9ea66698.jpg", "step":"6.焯水后备用。" }, { "img":"http:\/\/juheimg.oss-cn-hangzhou.aliyuncs.com\/cookbook\/s\/1\/14_79b1cc9fb722b4dd.jpg", "step":"7.油锅烧热,下入肉块。" }, { "img":"http:\/\/juheimg.oss-cn-hangzhou.aliyuncs.com\/cookbook\/s\/1\/14_0a45336653b0eb33.jpg", "step":"8.煎到微黄。" }, { "img":"http:\/\/juheimg.oss-cn-hangzhou.aliyuncs.com\/cookbook\/s\/1\/14_cb483431930bb8cd.jpg", "step":"9.加入白糖。" }, { "img":"http:\/\/juheimg.oss-cn-hangzhou.aliyuncs.com\/cookbook\/s\/1\/14_93eababb3d6f328a.jpg", "step":"10.炒到金黄色。" }, { "img":"http:\/\/juheimg.oss-cn-hangzhou.aliyuncs.com\/cookbook\/s\/1\/14_b1672001decab1dc.jpg", "step":"11.加入料酒和老抽,炒均匀。" }, { "img":"http:\/\/juheimg.oss-cn-hangzhou.aliyuncs.com\/cookbook\/s\/1\/14_03ce88cb45776456.jpg", "step":"12.放入干红椒,生姜, 八角, 香叶,花椒,炒出香味后,后加入适量的水。" }, { "img":"http:\/\/juheimg.oss-cn-hangzhou.aliyuncs.com\/cookbook\/s\/1\/14_5e067f35b2297a47.jpg", "step":"13.煮十几分钟后,加入萝卜和鹌鹑蛋。" }, { "img":"http:\/\/juheimg.oss-cn-hangzhou.aliyuncs.com\/cookbook\/s\/1\/14_7f8a56f9b8498703.jpg", "step":"14.再煮上十几分钟,肉和萝卜软烂,大火收汁加入适量的盐即可。" } ] } ], "totalNum":1, "pn":0, "rn":1 }, "error_code":0 }
结构大概如下:

调用api后返回的json文件就是这样,很长很乱。这份文件是一份菜谱,我现在只需要用到这里面菜名,食材,做法等信息。
先放上解析json的代码:
JSONObject object = JSONObject.fromObject(result);
JSONObject ob=object.getJSONObject("result");
JSONArray ob1=ob.getJSONArray("data");
JSONObject o2=ob1.getJSONObject(0);
JSONArray po=o2.getJSONArray("steps"); if(object.getInt("error_code")==0){
System.out.println(o2.getString("title"));
System.out.println(o2.getString("ingredients"));
System.out.println(o2.getString("burden"));
for(int i=0;i<po.size();i++){ JSONObject u=po.getJSONObject(i); System.out.println(u.get("step"));
}
通俗一点讲,解析过程分析起来就只有两点:
第一种,大括号前面的看成是JSONObject
第二种,中括号前面的看成是JSONArray
结果如下图:

JAVA简便解析json文件的更多相关文章
- Java解析JSON文件的方法
http://blog.sina.com.cn/s/blog_628cc2b70101dydc.html java读取文件的方法 http://www.cnblogs.com/lovebread/ar ...
- Android--------使用gson解析json文件
##使用gson解析json文件 **json的格式有两种:** **1. {}类型,及数据用{}包含:** **2. []类型,即数据用[]包含:** 下面用个例子,简单的介绍gson如何解析jso ...
- 安卓解析JSON文件
安卓解析JSON文件 根据JOSN文件的格式,文件只有两种数据,一是对象数据,以 {}为分隔,二是数组,以[]分隔 以下介绍安卓如何解析一个JSON文件,该文件存放在assets目录下,即:asset ...
- python脚本解析json文件
python脚本解析json文件 没写完.但是有效果.初次尝试,写的比较不简洁... 比较烦的地方在于: 1,中文编码: pSpecs.decode('raw_unicode_escape') 2,花 ...
- 使用google-gson类库解析json文件
使用google-gson类库解析json文件 使用JsonParser解析器来解析字符串和输入流,变成json对象 代码如下: public class Readjson { public stat ...
- Java jdom解析xml文件带冒号的属性
Java jdom解析xml文件带冒号的属性 转载请标明出处: https://dujinyang.blog.csdn.net/article/details/99644824 本文出自:[奥特曼超人 ...
- Logstash:解析 JSON 文件并导入到 Elasticsearch 中
转载自:https://elasticstack.blog.csdn.net/article/details/114383426 在今天的文章中,我们将详述如何使用 Logstash 来解析 JSON ...
- Java解析JSON文件的方法(一)
一.首先需要在Eclipse工程中导入相关的jar包,jar包参见链接:http://yunpan.alibaba-inc.com/share/link/NdA5b6IFK 二.提供一份待解析的jso ...
- java解析json文件(省,市,区)
[{"code":"11","name":"北京市"},{"code":"12" ...
随机推荐
- 走进JavaScript——重拾函数
创建函数 通过构造器的方式来创建函数,最后一个参数为函数体其他为形参 new Function('a','b','alert(a)') /* function anonymous(a,b) { ale ...
- SUSE-11 本地 zypper 配置
配置本地 zypper 目的: 安装 SUSE-11 后想要再添加或删除软件组件将比较麻烦.通过配置本地 zypper 将可以从下载的软件仓库(repository)中安装软件包. 本地 zypp ...
- javamail+ical4j发送会议提醒
本篇讲述小编在使用ical4j时对其的理解与使用,留作笔记的同时希望能帮助到大家! 初学者可以先了解下ical4j的基本信息: iCalender编程基础,了解与使用ical4j:https://ww ...
- Nginx日志分析及脚本编写
在我们日常的运维中,当Nginx服务器正常运行后,我们会经常密切关注Nginx访问日志的相关情况,发现有异常的日志信息需要进行及时处理. 那今天我将跟大家一起来研究和分析Nginx日志,nginx默认 ...
- Netty的常用概念
我们先来看一段代码: // Configure the server. EventLoopGroup bossGroup = new NioEventLoopGroup(1); EventLoopGr ...
- shell的if嵌套
shell脚本编写中,if是可以嵌套的, 注意,if条件表达式[]中的空格,以及后面的then就行了 if条件表达式后面的分号":"可有可无,不影响. 代码如下 myFile='c ...
- hdu4143 A Simple Problem
A Simple Problem Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) ...
- 通过实例介绍持续集成的应用--基于Jenkins
1.测试工程师为什么要掌握持续集成 一个程序员如果想发布一个产品,他需要编码.编译.测试,发布的过程.对于一个企业来说,如果也想发布一个产品的话,同样的也是需要上述的过程,区别在于企业要发布的产品的需 ...
- FastDFS + Nginx 安装
1.安装FastDFS依赖lib包 cd /usr/local/src/ git clone https://github.com/happyfish100/libfastcommon.git cd ...
- Linux 6.4 设置yum 为centOS源
一. 删除Redhat 自带的yum // root 用户执行 rpm -aq|grep yum|xargs rpm -e --nodeps 二 .下载CentOS 的 yum 安装文件 wget h ...