- 浏览: 463003 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (369)
- javascript html (20)
- java (31)
- jquery (15)
- jcrop (0)
- JEECG (1)
- ajax (3)
- 反射 (3)
- VI (1)
- mysql (48)
- easyui (1)
- svn (2)
- MD5 加密 (1)
- spring (14)
- ORACLE (8)
- 经验总结 (1)
- TCP/IP协议 (1)
- ICMP协议 (1)
- eclipse (1)
- Reflect (1)
- linux (21)
- android (5)
- excel 操作 (1)
- java tree (1)
- html (1)
- plupload (1)
- mongodb (9)
- aes (1)
- python (1)
- java relax (1)
- highcharts (2)
- json (2)
- java 多线程 (30)
- maven (2)
- 设计模式 (1)
- jsp+js (2)
- 面向对象 (1)
- jvm (16)
- 缓存 (1)
- proxy (1)
- 聊侃 (1)
- 面经 (1)
- java 字节 (1)
- java 类加载器 (2)
- java 基础 (2)
- java 语法糖 (1)
- java 位运算 (1)
- 排序 (3)
- java 服务器性能优化 (19)
- 网络编程 (2)
- jvm 参数设置 (0)
- jersey (1)
- webservice (2)
- nginx+多tomcat 集成 (5)
- nginx (16)
- squid (3)
- memcached (5)
- 正则表达式 (1)
- 常用免费接口 (1)
- jpa (1)
- win7 (1)
- java处理大文件 (1)
- js正则表达式 (1)
- tomcat (1)
- java 敏感字 (1)
- 系统架构优化 (4)
- 学习 (1)
- 本地测试QQ微博第三方登陆 (1)
- java 错误 (1)
- 微信支付 (1)
- https (1)
- httpclient (1)
- awk (2)
- loadrunner (1)
- sql server 2008 (3)
- git (4)
- sql server2008 (1)
- solr (2)
- centos (1)
- 数据存储架构 (3)
- log4j (1)
- weboffice (1)
- 并发编程 (1)
- postgreSQL (0)
- ssl (1)
- openssl (1)
- activeMQ (2)
- IDEA (1)
- shell (1)
- ansible (4)
- docker (2)
- grafana (1)
- jmeter (1)
- TLS (1)
- 将博客搬至CSDN (1)
最新评论
-
dida1990:
啊喔,过去了这么久,不过还是评一个。谁说uuid的hashCo ...
高并发生成订单号(二) -
annan211:
yclovesun 写道使用了uuid,为什么还要machin ...
高并发生成订单号(二) -
yclovesun:
使用了uuid,为什么还要machineId?uuid已经可以 ...
高并发生成订单号(二) -
u013280917:
太深奥,看不懂
mysql优化特定类型的查询
java 代码处理 json 字符串,存在很多种方法,最直接的就是直接反射成java bean ,但是 如果json字符串过于复杂,反而是得其反,需要写大量代码,我才不干!
所以 下面我找到一种更简单的方法,往下看,小伙伴。
我现在返回的数据是下面这个
我艹 ,这么长!! 没良心的,叫我怎么处理,而且还是字符串。实际上原本更长,这里只是三个值。其实有100以上的数量。
好了 ,现在开始。
第一步 需要用到这几个包
第二步
开始转换
所以 下面我找到一种更简单的方法,往下看,小伙伴。
我现在返回的数据是下面这个
{ "code": 0, "message": "交易成功", "object": { "head": { "version": "1.0.0", "code": "contract_setting_info", "timestamp": 1400138523979 }, "body": { "contractSettings": [ { "contractDict": { "code": "YGXAG9995", "name": "粤贵银9995", "market_code": "PMEC", "status": 1, "sort": 0 }, "contractEx": { "unit_number": 15, "unit_type": "KG", "min_quote_unit": 1, "min_var_unit": 1, "step_unit": 1, "currency": "CNY", "quote_type": 1 }, "contractProtect": { "spread": 20, "time_interval": 60000 }, "contractAccess": null }, { "contractDict": { "code": "YGXAG9999", "name": "粤贵银9999", "market_code": "PMEC", "status": 1, "sort": 0 }, "contractEx": { "unit_number": 1, "unit_type": "KG", "min_quote_unit": 1, "min_var_unit": 1, "step_unit": 1, "currency": "CNY", "quote_type": 1 }, "contractProtect": { "spread": 20, "time_interval": 600 }, "contractAccess": null }, { "contractDict": { "code": "YGXAG100G", "name": "粤贵银100G", "market_code": "PMEC", "status": 1, "sort": 0 }, "contractEx": { "unit_number": 100, "unit_type": "g", "min_quote_unit": 0.001, "min_var_unit": 0.001, "step_unit": 0.001, "currency": "CNY", "quote_type": 1 }, "contractProtect": { "spread": 20, "time_interval": 600 }, "contractAccess": null } ] } }, "success": true }
我艹 ,这么长!! 没良心的,叫我怎么处理,而且还是字符串。实际上原本更长,这里只是三个值。其实有100以上的数量。
好了 ,现在开始。
第一步 需要用到这几个包
现使用json-lib组件实现 * 需要 * json-lib-2.4-jdk15.jar * ezmorph-1.0.6.jar * commons-collections-3.1.jar * commons-lang-2.0.jar * 支持
第二步
开始转换
JSONObject jsonObject = JSONObject.fromObject(strRet); JSONObject j1 = JSONObject.fromObject(jsonObject.get("object")); JSONObject j2 = JSONObject.fromObject(j1.get("body")); 但是有些属性 路径太深 怎么办,没事。 可以这样解决 第一步 // 将JsonObject对象转换成JavaBean对象 Object bean = JSONObject.toBean(jsonObject); 第二部 PropertyUtils.getProperty(bean, "object.body.userCode").toString() 是不是很爽啊? 通过这样的方式 可以不断获取 json 字符串里面的东东,想要什么要什么。 但是我看到 json字符串里面存在大量的数组 ,我艹,这该怎么办。你妹的。 小伙伴别怕 // 遍历 json accounts 数组 ,获取其为true的账户 JSONArray ja = JSONArray.fromObject(j2.get("accounts")); 我先拿到目标数组 定位到你 for(int i=0;i<ja.size();i++){ JSONArray ja2 = ja.getJSONArray(i); for(int j = 0;j<ja2.size();j++){ if("true".equals(ja2.get(j))){ account = ja2.getString(0); } } } 接着 循环 想要哪个值 要哪个值。 爽吧。 小伙伴要是不明白了 可以加我 984814676 企鹅
{ "response": { "data": [ { "address": "南京市游乐园", "province": "江苏", "district": "玄武区", "city": "南京" } ] }, "status": "ok" }
package com.gdiex.sts.test; import java.lang.reflect.InvocationTargetException; import net.sf.json.JSONArray; import net.sf.json.JSONException; import net.sf.json.JSONObject; import org.apache.commons.beanutils.PropertyUtils; import org.junit.Test; public class Test_Json { @Test public void main() throws IllegalAccessException, InvocationTargetException, NoSuchMethodException { String strJson = "{\"response\":{\"data\":[{\"address\":\"南京市游乐园\",\"province\":\"江苏\",\"district\":\"玄武区\",\"city\":\"南京\"}]},\"status\":\"ok\"}"; try { JSONObject jsonobj=JSONObject.fromObject(strJson);//将字符串转化成json对象 System.out.println(jsonobj); Object bean = JSONObject.toBean(jsonobj); System.out.println(PropertyUtils.getProperty(bean, "response.data")); JSONObject response = JSONObject.fromObject(jsonobj.get("response")); JSONArray jsonArray = JSONArray.fromObject(response.get("data")); for (int i=0;i<jsonArray.size();i++) { System.out.println(jsonArray.get(i)); } } catch (JSONException e) { e.printStackTrace(); } } }
发表评论
-
log4j.xml配置文件
2017-08-15 21:19 495<?xml version="1.0& ... -
java 实现多文件压缩导出操作
2017-06-26 14:28 6801 controller @RequestMapping ... -
java dos窗口打包
2017-02-17 19:22 610指定编码 cmd jar包 > jar -cvf xxx ... -
互联网面试实例
2016-12-01 22:34 01 hibernate 原理机制 2 解释1-2个你最熟悉 ... -
java 枚举 根据key获取value
2016-10-26 14:28 3840package com.utcip.crm.common.co ... -
高并发 生成订单号(一)
2015-12-08 15:31 41011 设置主键自增为何不可取 这样的话,数据库本身是单点, ... -
double 浮点数据精确度
2014-12-29 14:45 829/* * * * * 版权 ... -
Java 实现深拷贝
2014-10-10 11:47 724http://developer.51cto.com/art/ ... -
如何计数一个字符在某个字符串中出现的次数?
2014-08-29 12:00 849如何计数一个字符在某个字符串中出现的次数? 使用 ... -
java 内部类作用分析
2014-08-25 13:46 471http://blog.csdn.net/ilibaba/ ... -
dos窗口 编译java工程
2014-07-22 11:54 345cd sts-web mvn jetty:run ... -
设计权限读写系统的思想
2014-05-26 18:54 802读写权限系统的设计 ... -
java 二进制十六进制互转
2014-05-26 15:15 1911/**将16进制转换为二进制 * @param hexS ... -
java 有小数时返回小数,无小数时返回整型
2014-05-22 15:42 1158/** * 对double类型数据操作 忽略. ... -
java 竟态条件与临界区
2014-05-20 15:15 1057竞态条件 & 临界区 当两个线程竞争同一资源 ... -
java web系统 cookie 管理
2014-05-16 16:56 1104第一步 写一个cookieUtil工具类 packa ... -
java 将 json字符串 返回到调用页面成为json
2014-05-15 18:35 1700@MethodResourceDesc(name = ... -
达内到底好不好? 达内培训怎么样? 达内培训效果如何? 达内培训出来好找工作吗?谁来为我负责?
2014-05-14 13:35 144达内到底好不好 达内培 ... -
java 实现生产者消费者模式
2014-05-09 10:20 1198package cosu_pro.pc; impor ... -
java 删除服务器附件
2014-03-19 12:06 583request.getSession().getSer ...
相关推荐
在Java开发中,将Java对象转换为JSON字符串或字符串数组是一项常见的任务,特别是在与前端交互、数据存储或者网络传输时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也...
本文将深入探讨如何在Java中解析JSON字符串,以满足后端处理前端传递的数据需求。 首先,理解JSON的基本结构至关重要。JSON格式通常包含键值对,可以是对象(用花括号 `{}` 包裹)或数组(用方括号 `[]` 包裹)。...
使用Java操作JSON字符串对象,使用Java操作JSON字符串对象
JSON(JavaScript Object...通过其提供的API,我们可以方便地进行JSON字符串与Java对象之间的双向转换,同时还能处理各种复杂的数据结构。在实际开发中,掌握这些知识对于进行Web服务开发、API接口设计等工作至关重要。
通过使用如`Gson`这样的库,我们可以轻松地在Java对象和JSON字符串之间进行转换,从而实现数据的有效传输和存储。在实际项目中,务必注意处理可能出现的异常情况,如无效的JSON格式,以及确保数据的安全性。
Java解析Json字符串是Java开发中常见的一项任务,特别是在与Web服务交互、数据交换或存储时。Json(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Java...
标题中的“使用json-lib将java对象转换成json字符串”指的是在Java编程中,利用json-lib这个库来将Java对象转化为JSON格式的字符串。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于前后端...
java使用fastJson处理复杂Json字符串,直接获取key对应的value值
在给定的“利用java反射将json字符串转成对象”的主题中,我们将深入探讨如何借助反射机制将JSON字符串转换为Java对象。 首先,我们需要了解JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人...
自己有空时用java反射写的json转化工具,有不完善之处,多包涵
Java Web 程序实现返回 JSON 字符串的方法总结 Java Web 程序实现返回 JSON 字符串的方法总结是 Java Web 开发中非常重要的一部分。随着 JSON 数据交换格式的广泛应用,Java Web 程序员需要学习如何将 Java 对象...
本文将详细介绍如何将JSON字符串直接转换为Java对象,特别是涉及到多层List集合的情况。在本例中,我们将使用`net.sf.json.JSONObject`类来实现这一功能。 首先,确保你的项目中已经引入了必要的库。在使用`...
在Java编程中,我们经常需要将JSON格式的数据转换为Java对象,这通常涉及到将JSON字符串转化为List泛型。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和...
在Java中,我们可以利用现有的库如Jackson、Gson或org.json等来实现JSON字符串的验证。这里以`org.json`库为例,给出一个简单的验证示例: ```java import org.json.JSONObject; import org.json.JSONTokener; ...
2. **commons-lang-2.5.jar**:Apache Commons Lang是Java语言工具包,包含一些高级字符串处理、日期/时间操作等,对于JSON解析可能不直接相关,但可以支持更复杂的字符串操作。 3. **commons-beanutils-1.8.0.jar*...
Gson是Google提供的一个Java库,它能够将Java对象转换为JSON字符串,反之亦然。在解析复杂的JSON字符串时,Gson提供了强大的功能,包括对嵌套结构的支持和自定义类型适应。 首先,我们要了解JSON的基本结构。JSON...
java判断字符串是否是json或json数组; 简单小方法,很实用;简单实用的方法;亲测可用;嗯嗯嗯呃呃呃呃呃呃呃
以下我们将详细探讨Java中将对象转换为JSON字符串的三种方法,这里使用的是阿里巴巴的Fastjson库,它是一个高性能的JSON库,提供了丰富的API来处理JSON与Java对象之间的转换。 1. **将Java对象转成JSON串** 当我们...
本篇文章将详细讲解如何将string类型的XML字符串转换为JSON字符串,并介绍相关的技术知识。 首先,理解XML和JSON的基本结构是至关重要的。XML是一种树形结构的标记语言,通过标签来定义元素和属性,例如: ```xml ...
忽略字段的首字母大小写,将json字符串转成javabean对象,解决Java对象中属性中首字母大写而取不到值(取到的值为空)的问题 忽略字段的首字母大小写,将json字符串转成List,解决Java对象中属性中首字母大写而取不...