`
tanpingpingiloveyou
  • 浏览: 4661 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

对json的操作

    博客分类:
  • json
阅读更多
package com.test;

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

/**
* JSON和JAVA的POJO的相互转换
*
* @author tanpingping
* @date 2012-5-15
*/
public final class JSONUtils {
/**
* 将String转换成JSON
* @param key
* @param value
* @return json格式的字符串
*/
public String stringToJson(String key, String value) {
JSONObject object = new JSONObject();
object.put(key, value);
return object.toString();
}

/**
* 将JSON转换成数组,其中valueClz为数组中存放的对象的Class
* @param json格式的字符串 如:[{'name':'李名','password':'10aVB','age':'15'}]
* @param valueClz 需要转换的Class对象  如:User
* @return valueClz对象的数组
*/
@SuppressWarnings("unchecked")
public Object jsonToArray(String json, Class valueClz) {
JSONArray jsonArray = JSONArray.fromObject(json);
return JSONArray.toArray(jsonArray, valueClz);
}

/**
* 将Collection转换成JSON
* @param object 需要对象的值转换
* @return
*/
public String collectionToJson(Object object) {
JSONArray jsonArray = JSONArray.fromObject(object);
return jsonArray.toString();
}

/**
* 将JSON转换成Collection,其中collectionClz为Collection具体子类的Class,
* @param json
* @param collectionClz 这个值没用到
* @param valueClz 为Collection中存放的对象的Class
* @return
*/
@SuppressWarnings("unchecked")
public Collection jsonToCollection(String json, Class collectionClz,
Class valueClz) {
JSONArray jsonArray = JSONArray.fromObject(json);
return JSONArray.toCollection(jsonArray, valueClz);
}

/**
* 将数组转换成JSON
* @param object 需要转换的数组
* @return
*/
public String arrayToJson(Object object) {
JSONArray jsonArray = JSONArray.fromObject(object);
return jsonArray.toString();
}

/**
* 将Map转换成JSON
* @param object
* @return
*/
public String mapToJson(Object object) {
JSONObject jsonObject = JSONObject.fromObject(object);
return jsonObject.toString();
}

/**
* 将JSON转换成Map
* @param keyArray 为Map的key
* @param json
* @param valueClz 为Map中value的Class
* @return Map对象
*/
@SuppressWarnings("unchecked")
public Map jsonToMap(Object[] keyArray, String json, Class valueClz) {
JSONObject jsonObject = JSONObject.fromObject(json);
Map classMap = new HashMap();

for (int i = 0; i < keyArray.length; i++) {
classMap.put(keyArray[i], valueClz);
}
return (Map) JSONObject.toBean(jsonObject, Map.class, classMap);
}

/**
* 将POJO转换成JSON
* @param object 需要转换的对象
* @return
*/
public String beanToJson(Object bean) {
JSONObject jsonObject = JSONObject.fromObject(bean);
return jsonObject.toString();
}

/**
* 将JSON转换成POJO
* @param json
* @param beanClz 为POJO的Class
* @return
*/
public Object jsonToObject(String json, Class beanClz) {
return JSONObject.toBean(JSONObject.fromObject(json), beanClz);
}

/**
* 将JSON转换成String
* @param json
* @param key
* @return
*/
public String jsonToString(String json, String key) {
JSONObject jsonObject = JSONObject.fromObject(json);
return jsonObject.get(key).toString();
}

}
分享到:
评论

相关推荐

    Delphi对JSON操作

    Delphi对JSON技术操作与应用 申明json数组变量 Arr:TJSONArray; Arr:=TJSONArray(Root.GetValue('data')); 遍历json数组 for i:=0 to Arr.Size - 1 do begin memo1.lines.add(Arr.items[i].value);

    Delphi 对JSON操作示例 + superobject1.25 下载

    总之,Delphi结合SuperObject库提供了一种强大且灵活的方式来处理JSON数据,使得在Delphi应用程序中进行JSON操作变得简单高效。无论是从服务器接收数据,还是向服务器发送数据,SuperObject都能成为你得力的工具。

    易语言json操作例程

    该"易语言json操作例程"提供了源码,帮助用户理解如何在易语言中处理JSON数据。JSON操作主要包括解析、创建和修改JSON对象,这些操作在与远程服务器交互、存储或读取配置文件时非常有用。 1. **Json_加载**:这个...

    java操作json的几个必需jar包

    在Java开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它使得人和机器都能轻松地阅读和编写数据。为了在Java中处理JSON数据,我们...在实际编程中,还可以结合单元测试确保JSON操作的正确性。

    json的最全版jar包(包含fastjson、gson、org.json)

    org.json库小巧且易于理解,适合对JSON操作需求简单的项目。 这三种JSON库各有特色,适用场景也有所不同。Fastjson适合对性能有较高要求的场合,Gson则以其灵活的配置和强大的功能见长,而org.json则更适合简单的...

    java json操作包

    使用此包对json操作,JSONArray json = JSONArray.fromObject(jsonList)

    JSON解析包3种解析jar包下载

    虽然其功能相对有限,但胜在简洁和易懂,适合对JSON操作需求不复杂的项目。 3. net.sf.json.JSONObject net.sf.json.JSONObject是开源项目json-lib的一部分,由SourceForge维护。与org.json.JSONObject相比,...

    使用json-lib将java对象转换成json字符串

    - `commons-lang-2.4.jar`:包含一些常用的字符串处理和类工具,对JSON操作提供辅助。 - `commons-beanutils-1.8.0.jar`:提供Bean属性的读写操作,方便JSON与Java Bean之间的转换。 - `commons-collections-...

    json lib 最新版

    将库文件放入lib目录后,Eclipse可以通过引入这个库来提供对JSON操作的支持,无需通过复杂的构建配置。 JSON库的主要功能包括: 1. **解析JSON字符串**:库提供了将JSON格式的字符串转换为Java对象的方法,例如将...

    JSON FOR PHP4.0 PHP JSON操作 Services_JSON

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器...同时,这也提醒我们技术的不断发展,如PHP 5.0及以后版本对JSON的内置支持,使得JSON操作变得更加简单和直接。

    Ason让JSON在Java中的处理变得更容易

    它的设计思路是对JSON操作进行抽象,使其更接近于Java对象的操作,降低了理解和使用的难度。对于那些寻求简洁和快速原型开发的项目,Ason是一个值得考虑的工具。不过,在大型项目或性能敏感的环境中,可能需要权衡其...

    json操作常用工具类

    这个"json操作常用工具类"的压缩包很可能是包含了一些常用的Java JSON处理工具,帮助开发者更便捷地进行JSON的解析、生成、序列化和反序列化。 1. **Jackson库** Jackson是Java中最流行的JSON处理库之一,它提供了...

    json-sourcs.rar_JSON_json-sourcs_json的代码jar

    1. 学习理解:可以通过阅读源码了解JSON数据处理的内部机制,加深对JSON操作的理解。 2. 自定义扩展:如果默认功能无法满足需求,开发者可以根据源码进行二次开发,添加自定义功能。 3. 问题排查:当遇到使用中的...

    json.ec 易语言json操作类

    易语言的一个json模版,用来操作json数据

    json.rar_json delphi_json.dll_pb解析json

    "json.dll"则是一个动态链接库文件,通常在Delphi这样的编程环境中使用,用于提供对JSON操作的支持。Delphi是一种流行的面向对象的编程语言,它使用Pascal语法,常用于开发桌面应用程序。 在Delphi中,我们可以使用...

    json存取数据,用武器属性作为案例

    版本适配: unity2022.3.49, vs2022。 主要内容: 一、json全认识 ... 1.1、unity对json操作的准备工作  1.2、c#对操作的起始工作  1.3、玩家属性: 2、创建json文件 3、保存的json数据 4、读取json数据

    pb操作json库

    PB操作JSON库主要涉及到PowerBuilder(PB)编程环境中对JSON数据的处理。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于Web服务和应用程序之间的数据传输。在PowerBuilder中,为了处理...

    C#json 操作

    以下是使用Newtonsoft.Json进行JSON操作的基本步骤: 1. **安装Newtonsoft.Json**:在Visual Studio中,可以通过NuGet包管理器来安装。搜索“Newtonsoft.Json”,然后添加到项目中。 2. **序列化对象**:如果你有...

    json操作例程.rar

    "易语言json操作例程源码"可能包含了一系列用于解析、生成和操作JSON对象的函数和过程。这些例程可能涵盖了以下关键知识点: 1. JSON数据结构:JSON数据主要由对象和数组构成。对象是键值对的集合,用花括号{}包围...

    C#JSON操作类

    在本主题中,我们将深入探讨C#中JSON操作的相关知识点,尤其是如何利用内置的System.Text.Json或第三方库Newtonsoft.Json进行解析、序列化以及操作JSON数据。 1. **系统内置的System.Text.Json** 自.NET Core 3.0...

Global site tag (gtag.js) - Google Analytics