- 浏览: 1754809 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (528)
- java基础 (35)
- oracle (23)
- 项目管理 (10)
- 代码架构 (27)
- java线程与进程 (2)
- 盈利模式 (10)
- 性能测试 (1)
- Ophone (2)
- web (6)
- asp (0)
- php (1)
- c# (1)
- Ruby (0)
- jboss (4)
- java基础之面试篇 (7)
- 数据查询优化 (1)
- weblogic (3)
- EJB (1)
- EXT (6)
- jquery (8)
- struts2 (2)
- struts1 (1)
- css (1)
- javascript (4)
- SSI (9)
- linux (9)
- c++ (6)
- 网络安全 (3)
- swing (2)
- 嵌入式 (1)
- 图像处理(机器人智能技术) (1)
- vb (2)
- mysql (2)
- sqlserver (10)
- dephi (0)
- Android (4)
- hadoop (1)
- maven (4)
- mybatis (1)
- html5 (1)
- 算法 (0)
- 高并发架构总结 (1)
- 时事评论 (4)
- 有些话不能不说 (35)
- 琴棋书画 (0)
- 教育 (1)
- 创业需要的 (4)
- 产品经理需要的 (4)
- 小南那些青涩的文章 (9)
- 如何创新 (4)
- 历史借鉴之秦汉 (1)
- 历史借鉴之三国 (1)
- 历史借鉴之魏晋 (1)
- 历史借鉴之隋唐 (1)
- 历史借鉴之南北宋 (1)
- 历史借鉴之近现代史 (1)
- 好工具我来推荐 (4)
- 汇编 (14)
最新评论
-
bilimeng:
求教,ConcurrentHashMap不是线程安全的么,为啥 ...
架构师之jdk8-----------------ConcurrentHashMap快速构建本地缓存和单例模式 -
baiducctv5:
wtaisi 写道wtaisi 写道|||||||||
spring aop中的propagation的7种配置的意思 -
zhangdong92:
另外内存泄漏一般也不是指计算时溢出。而是指某些对象已经不再使用 ...
java基础之面试篇三---int,float,long,double取值范围,内存泄露 -
zhangdong92:
Long.MAX_VALUE应该是(2^63)-1,而不是64 ...
java基础之面试篇三---int,float,long,double取值范围,内存泄露 -
nannan408:
java-lxm 写道好湿好湿好湿谢谢: )。
游南巅之晚秋
1.前言
如题。
2.代码.
3.注意事项。
json的jar包可以用net.json的官方jar替代ali的jar。
如题。
2.代码.
import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.lijunnan.JsonTypeEnum; /** * * @author 李俊南 * */ public class JsonUtil { private static final Logger logger = Logger.getLogger(JsonUtil.class); /** * 获取object需要的json类型,只针对jsonobject.get的object * * @param object * 需要判断的json对象 * @return object匹配的类型 */ public static JsonTypeEnum getType(Object object) { if (object instanceof String) { return JsonTypeEnum.String; } else if (StringUtils.isNumeric(object.toString())) { return JsonTypeEnum.Number; } else if (object instanceof JSONObject) { return JsonTypeEnum.JSONObject; } else if (object instanceof JSONArray) { return JsonTypeEnum.jsonArray; } else { return JsonTypeEnum.Other; } } /** * 根据对应的path如A.b1.c1,获取最里层的json的String的值 jaonarray先不考虑 * * @param json * 需要解析的jsonobject * @param path * 格式为形如a.b.c.d * * * @return 如果没找到或者异常则返回null,否则返回找到的对应值 */ public static String getJsonValueByPath(String jsonObjectString, String path) { try { JSONObject json = JSONObject.parseObject(jsonObjectString); logger.info("分析数据:"+jsonObjectString+"path:"+path); if (StringUtils.isEmpty(path) || null == json) { return null; } // 1.如果不包含.号,则是第一层 if (!path.contains(".")) { return json.getString(path); } else { // 包含.号的,至少一层以上的层级,层层获取 String[] paths = StringUtils.split(path, "."); JSONObject objectLast = json; for (int i = 0; i < paths.length; i++) { Object objectTemp = objectLast.get(paths[i]); if(null==objectTemp){ return null; } JsonTypeEnum jsonType = getType(objectTemp); if (jsonType == JsonTypeEnum.String) { // 找到String,则返回 return (String) objectTemp; } else if (jsonType == JsonTypeEnum.Number) { return String.valueOf(objectTemp); } else if (jsonType == JsonTypeEnum.JSONObject) { // 没找到String ,继续往下找,jaonarray先不考虑 objectLast = (JSONObject) objectTemp; continue; } } } } catch (Exception e) { logger.error(e.getMessage(), e); } return null; } }
public enum JsonTypeEnum { String, jsonArray, JSONObject, Number, Other }
3.注意事项。
json的jar包可以用net.json的官方jar替代ali的jar。
发表评论
-
架构师之jdk8-----------------ConcurrentHashMap快速构建本地缓存和单例模式
2015-06-04 15:33 90471.前言。 本地缓存和复杂的单例写起来不仅效率低下,而且 ... -
架构师之jdk8-------------------集合互相转换集锦
2015-06-04 11:34 16121.前言. 如题.这里主要介绍list,map等常用集合的 ... -
架构师之hibernate-------------------mysql类型对应java转换
2015-06-02 18:29 16361.前言. 如题. 2.代码. Hibernat ... -
架构师之bean---------------bean之间的数据copy
2015-06-01 18:05 14351.前言. 如题,bean不能强转,只能对应转换.一共有 ... -
架构师之jetty使用----------------问题集锦
2015-05-27 10:11 14211.前言. 如题. 2.问题描述. (1)com.op ... -
架构师之mybatis-----timestamp转date丢失精度问题
2015-03-26 14:53 45361.前言. 如题. 2.问题描述. 如果mappe ... -
架构师之数字判断-----------------怎么判断一个字符串是个数字
2015-03-24 14:43 9541.前言. 如题. 2.代码. 方法1: publ ... -
架构师之enum枚举之(二)--------直接判断String是否属于枚举中的一个
2015-03-22 21:17 82511.前言。 如题。 2.代码。 enum E ... -
架构师之jdk的bug排查(一)---------------split的点号陷阱
2015-03-20 15:01 33461.前言. jdk1.6的lang包的split方法是有 ... -
架构师之enum枚举之(一)-----------如何判断枚举和字符串相等(最简便方法)
2015-03-20 10:47 80681.前言. 如题. 2.代码. (1)代码串 publ ... -
架构师之maven(三)---------junit测试可能遇到的问题
2015-03-18 10:31 17841.前言. 如题. 2.代码. (1)类型转换错误 (1) ... -
架构师之maven(二)junit4.11+spring4.1的测试配置
2015-03-16 17:15 36901.前言. maven的junit测试是需要遵守一些规则 ... -
spring官方下载地址
2015-03-16 10:10 1125SPRING官方网站改版后,建议都是通过 Maven和Grad ... -
java 序列化和反序列化(针对字符串的例子)
2014-11-04 14:09 42211.前言. 摘自:http://blog.csdn.ne ... -
架构师之Dos命令之setx-------常用来设置系统环境变量
2014-08-25 10:19 73281.前言。 如题。 2.内容。 用法为形如 @SET ... -
linux集群之----------设置磁盘缓冲参数
2014-07-29 10:59 70641.前言。 如题。linux ... -
spark+hadoop+cenos6.5+VitualBox4.3.6整合开发(一)安装centos6.5
2014-01-17 10:04 32681.前言。 首先先感谢cctv和http://zhou ... -
axis2-如何已知uri或者xml生成客户端?
2013-11-06 10:23 26911.前言 首先,需要下载axis2工具包,见附件,我这里是 ... -
让ie6,7,8支持canvas,css3等主流html5技术
2013-06-18 13:02 293471.前言。 ie6,7,8支持htm ... -
Ehcached等与Oscached的比较
2013-05-22 16:05 54291.前言. j2ee可以有很多Cache策略,Ehcach ...
相关推荐
L001-高级架构师12期-zabbix深度实践-13节 L002-高级架构师12期-zabbix深度实践2-2节 L003-高级架构师12期-SaltStack深度实践1-4节 L004-1-高级架构师12期-Saltstack配置管理2-8节 L004-2-高级架构师12期-Saltstack...
51CTO系统架构设计师2009-2018真题及答案,好用、专业
系统架构师设计教程-杨春晖-计算机技术与软件技术资格考试指定书
json-schema-benchmark, node.js JSON模式验证程序的基准 json-schema-...对官方json模式测试套件进行测试,并检查导致对架构或者数据产生副作用的确认器。有助于这些基准测试。性能 每秒测试运行的验证程序相对速度
架构师之路-沈剑-20200303(2).pdf1
系统架构师设计教程---有助于软考系统架构师设计教程---有助于软考系统架构师设计教程---有助于软考
功能将Json节点类型转换/转换为另一种类型:从Json架构规范来回Json-Node-Normalizer NodeJS模块,可根据json架构规范对json数据类型进行规范化。 功能将Json节点类型转换/转换为另一种类型:从Json Schema规范到...
架构师实践指南-完整-高清-目录架构师实践指南-完整-高清-目录
react-json-schema npm install react-json-schema 通过将JSON定义映射到React组件来从JSON构造React元素。 将react-json-schema用于数据驱动的布局,或用作React组件和道具的抽象层。 渲染到任何地方(只要是DOM)...
架构师职能图----------------------------------
架构师之路-大型网站技术架构与解决方案,多篇高质量教程合集
架构师学习指南-高级架构师必修学习视频架构师学习指南-高级架构师必修学习视频
JSON 编辑器 Angular 指令 包装指令。 ... 有关支持的架构属性和用法的更多信息,请查看原始 。 要求 该模块不包含原始的 json-editor ... script src =" bower_components/angular-json-editor/angular-json-editor.js
json-schema-traverse 遍历 JSON Schema 将每个架构对象传递给回调安装 npm install json-schema-traverse用法 const traverse = require ( 'json-schema-traverse' ) ;const schema = { properties : { foo : { ...
json-from-schema基于架构生成随机JSON。 用法 var jfs = require ( 'json-from-schema' ) ; var schema1 = { id : 'http://www.example.com/herp#' , type : "object" , properties : { someString : { type : ...
特征流利的架构实现JSON Schema draft-07标准通过编写JSON模式的快捷方式无效选项或关键字滥用引起的运行时错误可以在JSON模式中使用JavaScript常量(例如enum , const , default ),以避免模型和模式之间出现...
angular-json-editor, 用于 jdorn/json编辑器的Angular 包装器 JSON编辑器 Angular 指令一个包装 jdorn的 json编辑器的指令。JSON编辑器采用JSON模式,并使用它生成HTML表单。有关支持的架构属性和用法的进一步信息...
角度-json-编辑器 指令呈现编辑器以编辑任何 JSON 对象的字段。 编辑器还不允许更改架构(添加或删除属性),而只能编辑现有值 ##用法 请注意,内容对象是添加到作用域中的 json 对象 要求 AngularJS ##...
系统架构师1-知识结构.png软考:系统架构师1-知识结构.png软考:系统架构师1-知识结构.png软考:系统架构师1-知识结构.png软考:系统架构师1-知识结构.png软考:系统架构师1-知识结构.png软考:系统架构师1-知识结构...
架构师之路-文章.docx