- 浏览: 1783681 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (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 91211.前言。 本地缓存和复杂的单例写起来不仅效率低下,而且 ... -
架构师之jdk8-------------------集合互相转换集锦
2015-06-04 11:34 16711.前言. 如题.这里主要介绍list,map等常用集合的 ... -
架构师之hibernate-------------------mysql类型对应java转换
2015-06-02 18:29 16911.前言. 如题. 2.代码. Hibernat ... -
架构师之bean---------------bean之间的数据copy
2015-06-01 18:05 14881.前言. 如题,bean不能强转,只能对应转换.一共有 ... -
架构师之jetty使用----------------问题集锦
2015-05-27 10:11 14911.前言. 如题. 2.问题描述. (1)com.op ... -
架构师之mybatis-----timestamp转date丢失精度问题
2015-03-26 14:53 46231.前言. 如题. 2.问题描述. 如果mappe ... -
架构师之数字判断-----------------怎么判断一个字符串是个数字
2015-03-24 14:43 10111.前言. 如题. 2.代码. 方法1: publ ... -
架构师之enum枚举之(二)--------直接判断String是否属于枚举中的一个
2015-03-22 21:17 83591.前言。 如题。 2.代码。 enum E ... -
架构师之jdk的bug排查(一)---------------split的点号陷阱
2015-03-20 15:01 34181.前言. jdk1.6的lang包的split方法是有 ... -
架构师之enum枚举之(一)-----------如何判断枚举和字符串相等(最简便方法)
2015-03-20 10:47 81801.前言. 如题. 2.代码. (1)代码串 publ ... -
架构师之maven(三)---------junit测试可能遇到的问题
2015-03-18 10:31 18321.前言. 如题. 2.代码. (1)类型转换错误 (1) ... -
架构师之maven(二)junit4.11+spring4.1的测试配置
2015-03-16 17:15 37401.前言. maven的junit测试是需要遵守一些规则 ... -
spring官方下载地址
2015-03-16 10:10 1175SPRING官方网站改版后,建议都是通过 Maven和Grad ... -
java 序列化和反序列化(针对字符串的例子)
2014-11-04 14:09 42661.前言. 摘自:http://blog.csdn.ne ... -
架构师之Dos命令之setx-------常用来设置系统环境变量
2014-08-25 10:19 74771.前言。 如题。 2.内容。 用法为形如 @SET ... -
linux集群之----------设置磁盘缓冲参数
2014-07-29 10:59 71151.前言。 如题。linux ... -
spark+hadoop+cenos6.5+VitualBox4.3.6整合开发(一)安装centos6.5
2014-01-17 10:04 33351.前言。 首先先感谢cctv和http://zhou ... -
axis2-如何已知uri或者xml生成客户端?
2013-11-06 10:23 27391.前言 首先,需要下载axis2工具包,见附件,我这里是 ... -
让ie6,7,8支持canvas,css3等主流html5技术
2013-06-18 13:02 293971.前言。 ie6,7,8支持htm ... -
Ehcached等与Oscached的比较
2013-05-22 16:05 54881.前言. j2ee可以有很多Cache策略,Ehcach ...
相关推荐
这个压缩包包含了两个关键的组件:json-lib-2.1.jar和struts2-json-plugin-2.1.8.1.jar,它们是Struts2支持JSON(JavaScript Object Notation)序列化和反序列化的关键。 1. **json-lib-2.1.jar**: JSON是一种轻...
JSON-RPC协议基础 JSON-RPC与HTTP请求响应模型 JSON-RPC规范详解 JSON-RPC错误处理机制 JSON-RPC批量请求处理 ...JSON-RPC在微服务架构中的角色 JSON-RPC高级特性:通知与订阅 JSON-RPC实战:构建分布式应用
总的来说,这个`json-rpc-1.0.zip`压缩包为Java开发者提供了一种高效、简单的跨平台通信工具,使得他们能够利用JSON-RPC协议构建分布式系统和微服务架构。通过深入理解和应用这个库,开发者可以优化他们的网络通信...
JSON-C 是一个小型的 JSON(JavaScript Object Notation)C 库,用于在 C 语言环境中解析和生成 JSON 数据。...通过解压和编译 JSON-C,开发者可以在嵌入式系统上实现 JSON 数据的序列化和反序列化功能。
JSON-Patch 和 JSON-RPC 是两个在分布式系统和网络通信中常见的技术标准,尤其是在处理JSON数据时。让我们深入了解这两个概念以及它们如何与C#编程语言相结合。 **JSON-Patch** JSON-Patch是一种按照RFC 6902标准...
JSON-RPC(JavaScript Object Notation Remote Procedure Call)是一种轻量级的远程调用协议,它使用JSON作为数据交换格式。在Java开发中,JSON-RPC框架可以帮助开发者实现客户端与服务器之间的高效通信,常用于...
JSON-RPC(JavaScript Object Notation Remote Procedure Call)是一种轻量级的远程调用协议,它使用JSON作为数据交换格式,允许客户端通过HTTP或其他传输协议向服务器发送请求,并获取响应。在Web开发中,JSON-RPC...
- 微服务架构:不同服务间通过JSON-RPC进行通信。 - 客户端-服务器通信:如游戏客户端向服务器发送玩家操作请求。 - 跨语言交互:C++实现的服务可以被JavaScript、Python等其他语言调用。 5. **文件结构分析**:...
`RobinBressan-json-git-ef4134c`这个文件可能是json-git项目的某个特定版本或者示例代码。通过查看和分析这个文件,你可以更深入地了解json-git的使用方式和实现细节,从而在实际项目中灵活运用。 总结来说,`json...
json-schema-traverse 遍历 JSON Schema 将每个架构对象传递给回调安装 npm install json-schema-traverse用法 const traverse = require ( 'json-schema-traverse' ) ;const schema = { properties : { foo : { ...
标题中的"api-ms-win-core-path-l1-1-0.dll"是Windows操作系统中的一个核心动态链接库(DLL)文件,它属于Windows API的一部分,主要负责处理路径相关的操作。DLL(Dynamic Link Library)文件是Windows系统中的一种...
通过分析和实践"JSON.rar"中的内容,你可以深入理解JSON的数据交换机制,掌握JSON-RPC的工作原理,并能够熟练地在实际项目中运用。这将提升你在Web开发和分布式系统设计中的能力,为你的职业生涯添加宝贵的技能。...
功能将Json节点类型转换/转换为另一种类型:从Json架构规范来回Json-Node-Normalizer NodeJS模块,可根据json架构规范对json数据类型进行规范化。 功能将Json节点类型转换/转换为另一种类型:从Json Schema规范到...
DLL文件是程序共享功能的模块,它们包含可由多个程序同时使用的代码和数据。"api-ms-win-core-path-l1-1-0.dll"特别涉及到路径处理相关的函数,这些函数可能用于解析、创建或验证文件路径。 在描述中,只提到了...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于前后端交互,它以文本形式存储和...在Java Web开发中,理解和掌握JSON库的使用是必备技能之一,特别是对于处理JSON格式的数据交换和存储。
react-json-schema npm install react-json-schema 通过将JSON定义映射到React组件来从JSON构造React元素。 将react-json-schema用于数据驱动的布局,或用作React组件和道具的抽象层。 渲染到任何地方(只要是DOM)...
总之,"struts2-json-lib"提供了实现Struts2和JSON整合所需的全部组件,简化了在Java Web应用中处理JSON数据的过程。正确地配置和使用这些库,可以大大提升开发者的生产力,让Web应用具备更强大的数据交互能力。
架构师职能图----------------------------------
架构师学习指南-高级架构师必修学习视频架构师学习指南-高级架构师必修学习视频
json-from-schema基于架构生成随机JSON。 用法 var jfs = require ( 'json-from-schema' ) ; var schema1 = { id : 'http://www.example.com/herp#' , type : "object" , properties : { someString : { type : ...