JAVA解析JSON问题,怎么解析,急!!
我想解析它,得到URL、Height、Width;我想用java对象数组,存放Thumbnail中的值,怎么做啊?
JSONArray jsonArr = new JSONArray(jsonstr);//通过jsonstr字符串构造JSONArray对象
JSONObject obj = (JSONObject)jsonArr.get(0);//获取jsonArr里第一个对象并把它赋值给 //JSONObject对象--因为你这里第一个对象是一个json串
//获取json串里Thumbnail属性的值,因为还是一个json串,这里还转换为JSONObject对象
JSONObject thumbnail = (JSONObject)obj.get("Thumbnail");
//获取Url属性,得到值
String url = (String)thumbnail.get("Url");
//只是示范一下,这里取到的是第一个Thumbnail的Url属性的值,相信看后你应该能取到你想要的
你把这个字符串反向解析成为一个 json对象,再通过json类提供的方法读取里面的值即可。
--------
---前端组装成json格式的数据
-----json格式数据
-----java_片段
String jsonstr = "[ { "precision": "zip", "Latitude": 37.7668, "Longitude": -122.3959, "Thumbnail": { "Url": "和谐xxx", "Height": 125, "Width": "100" } }, { "precision": "zip", "Latitude": 37.371991, "Longitude": -122.026020, "Thumbnail": { "Url": "和谐xxx", "Height": 125, "Width": "100" } } ]"
我想解析它,得到URL、Height、Width;我想用java对象数组,存放Thumbnail中的值,怎么做啊?
JSONArray jsonArr = new JSONArray(jsonstr);//通过jsonstr字符串构造JSONArray对象
JSONObject obj = (JSONObject)jsonArr.get(0);//获取jsonArr里第一个对象并把它赋值给 //JSONObject对象--因为你这里第一个对象是一个json串
//获取json串里Thumbnail属性的值,因为还是一个json串,这里还转换为JSONObject对象
JSONObject thumbnail = (JSONObject)obj.get("Thumbnail");
//获取Url属性,得到值
String url = (String)thumbnail.get("Url");
//只是示范一下,这里取到的是第一个Thumbnail的Url属性的值,相信看后你应该能取到你想要的
你把这个字符串反向解析成为一个 json对象,再通过json类提供的方法读取里面的值即可。
--------
---前端组装成json格式的数据
addHoliday : function(btn){ var allRecords = []; Ext.each(this.PPanel.datePick,function(pick){ var records = pick.getSelectDates(); Ext.each(records,function(record){ Ext.apply(record.json,{datetype:btn.datetype,color:btn.color}); allRecords.push(record.json); },this); },this); var data = Ext.util.JSON.encode(allRecords); Ext.Ajax.request({ url : 'DateSet/DateSet.do', params : {object:'addHoliday',records:data,token:token}, scope : this, callback : function(o,s,resp){ if(ajaxRequestFailure(resp.statusText)){ return; } var respText = Ext.util.JSON.decode(resp.responseText); if(respText.success){ for(var i=0;i<this.PPanel.datePick.length;i++){ this.PPanel.datePick[i].reloadDate(); } }else{ Ext.Msg.alert('错误',respText.error); } } }); },
-----json格式数据
[ { "a_num": "7", "name": "<font color=red>7</font>", "day": "7", "year": "2015", "month": "2", "spacenum": "6", "datetype": 3, "color": "black" }, { "a_num": "8", "name": "<font color=red>8</font>", "day": "8", "year": "2015", "month": "2", "spacenum": "6", "datetype": 3, "color": "black" }, { "a_num": "14", "name": "<font color=red>14</font>", "day": "14", "year": "2015", "month": "2", "spacenum": "6", "datetype": 3, "color": "black" } ]
-----java_片段
String data = uFunc.getString(request.getParameter("records"));//uFunc就是去除空格和特殊字符 JSONArray jArray = JSONArray.fromObject(data); JSONObject jsonObject; String sSQL = "",year,month,day,datetype,color; List<String> sqlList = new ArrayList<String>(); for(int i = 0; i < jArray.size(); i++){ jsonObject = jArray.getJSONObject(i); year = uFunc.getJSONString(jsonObject, "year"); if(uFunc.IsNullString(year)) continue; month = uFunc.getJSONString(jsonObject, "month"); day = uFunc.getJSONString(jsonObject, "day"); datetype = uFunc.getJSONString(jsonObject, "datetype"); color = uFunc.getJSONString(jsonObject, "color"); sSQL = "update sw_work.dateset a set a.datetype = '"+datetype+"',a.color='"+color+"' where a.year="+year+" and a.month="+month+" and a.day="+day; sqlList.add(sSQL);//当批量执行需要提交事务的语句时 用sqlList来添加执行;一条语句时可直接在execute中写sql语句。 } try{ this.getBaseDao().execute(sqlList); uFunc.writeSuccessToResponse(response, "操作成功"); }catch(Exception ex){ ex.printStackTrace(); uFunc.writeErrorToResponse(response, ex.getMessage()); }
发表评论
-
关系型数据库三范式解释
2016-04-07 11:54 1288数据库 三范式最简单最易记的解释,整理一下方便大家记忆。 书上 ... -
java验证字符串中是否包含数字,对数字的操作
2016-03-15 11:01 9543在javascript中有一个方法 ... -
jdk7 Collections.sort()方法报非法参数异常
2016-03-03 18:57 12113JDK7的Comparison method violates ... -
Maven 中央仓库地址和lastUpdate文件删除
2016-03-01 13:46 8091Maven 中央仓库地址: 1. http://mvnrep ... -
log4j.properties配置详解
2016-01-18 16:50 1331Log4J的配置文件(Configuration File)就 ... -
Java 日期时间 Date类型,long类型,String类型表现形式的转换
2015-12-24 17:35 3318Java 日期时间 Date类型,long类型,String类 ... -
Java多线程-工具篇-BlockingQueue
2015-11-24 16:13 1017Java多线程-工具篇-Block ... -
Java 实例 - 队列(Queue)入门用法
2015-11-23 17:27 2036队列是一种特殊的线性表,它只允许在表的前端进行删除操作,而在表 ... -
Java中序列化的serialVersionUID作用
2015-11-13 14:13 4887Java序列化是将一个对象 ... -
java的序列化和反序列化
2015-10-27 19:48 1153Java基础学习总结——Jav ... -
java中volatile关键字的含义
2015-08-12 20:10 793java中volatile关键字的含 ... -
Java读写文件中文乱码问题
2015-07-20 17:49 3006问题:在用Java程序进行读写含中文的txt文件时,经常会出现 ... -
String类中split方法的使用
2015-07-02 14:39 1032String类中split方法的使用 split 方法:将一个 ... -
PreparedStatement防止SQL注入
2015-04-11 16:27 2841一条效率差的sql语句,足以毁掉整个应用. Stateme ... -
Redis与Memcached的区别
2015-04-11 15:20 1108如果简单地比较Redis与Memcached的区别,大多数都 ... -
Session的生命周期
2015-04-11 11:58 968我们已经知道,Session是在用户第一次访问网 ... -
JAVA多线程和并发基础
2015-04-11 11:58 807JAVA多线程和并发基础 ... -
Hibernate一级缓存详解
2015-04-11 11:58 15681.Session 级别的缓存,它同session邦定。它 ... -
Java堆内存Heap与非堆内存Non-Heap
2015-04-08 22:19 1677堆(Heap)和非堆(Non-heap)内存 按照官 ... -
JVM内存模型
2015-04-08 22:07 956/*** 转载请注明作者l ...
相关推荐
知攻善防-应急响应靶机-web2.z18
知攻善防-应急响应靶机-web2.z09
白色简洁风格的影视众筹平台整站网站源码下载.zip
内容概要:本文详细解析了HTTP请求的整个流程,包括用户请求发起、请求报文构建、服务器处理请求、响应报文生成、网络传输响应和浏览器接收响应六个阶段。每个阶段的内容均涵盖了关键步骤和技术细节,如DNS解析、TCP连接、缓存策略、HTTP/2性能提升、HTTPS加密等。通过这些内容,读者可以全面理解HTTP请求的完整流程。 适合人群:具备一定网络基础知识的前端、后端开发人员及IT运维人员。 使用场景及目标:适用于希望深入了解HTTP协议及其优化技术的技术人员,有助于提升系统的性能和安全性,优化用户体验。 阅读建议:本文内容详尽且涉及多个关键技术点,建议读者结合实际案例进行学习,逐步理解和掌握各个阶段的技术细节和优化方法。
白色简洁风格的电话通讯公司模板下载.zip
白色简洁风格的日历当日事件提醒整站网站源码下载.zip
一键制作 歌曲伴奏! 可以消人声 吉他 鼓 等 多轨道声音。相当好用。
知攻善防-应急响应靶机-web2.z04
NSDocumentError如何解决.md
白色宽屏风格的大气冲浪运动整站网站模板.rar
白色简洁风格的婴儿用品商城网站模板.zip
罗兰贝格2023未来营养趋势报告21页
预览地址:https://blog.csdn.net/qq_42431718/article/details/144749829 html+css 圣诞树代码html
1-100加减乘除出题生成器
白色简洁风格的网络实验室CSS模板.zip
白色简洁风格的企业产品展示整站网站源码下载.zip
内容概要:《etcd-metrics-latest.txt》文档记录了 etcd(一个分布式键值存储系统)的多个指标数据,包括但不限于集群版本、认证修订版、后端磁盘操作延时分布、租赁管理、键值操作统计、快照保存、网络通信、Go 运行时指标、gRPC 请求处理、操作系统资源使用以及进程资源使用等。这些指标提供了详细的性能监测数据,帮助运维人员和开发人员理解和优化 etcd 集群的运行状态。 适合人群:具有基础计算机科学知识的运维人员或开发人员,尤其是负责维护或开发基于 etcd 技术系统的专业人员。 使用场景及目标:主要用于监控 etcd 集群的健康状况,评估性能瓶颈,辅助故障排查,支持集群的持续优化和技术决策。 其他说明:文档中大量使用了指标和术语,建议读者对 etcd、Go 语言、gRPC 和操作系统基础知识有一定的了解,以便更好地解读文档中的数据。对于不熟悉这些技术的读者来说,可能需要额外查阅相关资料来辅助理解。
Java编写的计算器程序是一种基于Java编程语言实现的计算工具,常用于教学或个人项目中,以帮助用户执行基本的数学运算。在这个简单的计算器程序中,我们可能会遇到以下几个关键的Java知识点: 1. **基础语法与控制结构**:Java的基础语法包括变量声明、数据类型(如int、double等)、条件语句(if-else)和循环语句(for, while)。在计算器程序中,这些元素用于读取用户输入、判断操作类型以及重复执行某些计算过程。 2. **面向对象编程**:Java是一种面向对象的语言,因此计算器程序可能包含多个类,如Calculator类、Button类(模拟图形界面的按钮)和Display类(显示计算结果)。类之间可能存在继承关系,例如Button类可能继承自一个抽象的UIComponent类。 3. **输入/输出处理**:在命令行计算器中,Java的Scanner类用于获取用户输入,如数字和运算符。在图形用户界面(GUI)计算器中,可能使用事件监听器处理用户的点击事件,获取按钮上的文字信息。 4. **异常处理**:为了确保程序的健壮性,计算器可能包含异常处理代码,比如当
SystemExit.md
NavigationGuardError解决办法.md