`
EMILYPAN
  • 浏览: 7858 次
  • 来自: ...
最近访客 更多访客>>
社区版块
存档分类
最新评论

收JSON工具类

    博客分类:
  • ruby
阅读更多
关键字: 一个java处理json格式数据的通用类收藏

/** *//**
* Copyright (c) linkwise 2007-2009 corporation. 
* All rights reserved
*/
package com.linghui.common.util;

import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;
import net.sf.json.util.CycleDetectionStrategy;

import com.linghui.common.util.DateUtil;
import com.linghui.common.util.jsonutil.DateJsonValueProcessor;

/** *//**
* @author </br> <a href="mailto:fx19800215@163.com"> robert.feng</a>
*
*/
public class JsonUtil ...{

    /** *//**
     * 从一个JSON 对象字符格式中得到一个java对象
     * @param jsonString
     * @param pojoCalss
     * @return
     */
    public static Object getObject4JsonString(String jsonString,Class pojoCalss)...{
        Object pojo;
        JSONObject jsonObject = JSONObject.fromObject( jsonString ); 
        pojo = JSONObject.toBean(jsonObject,pojoCalss);
        return pojo;
    }
   
   
   
    /** *//**
     * 从json HASH表达式中获取一个map,改map支持嵌套功能
     * @param jsonString
     * @return
     */
    public static Map getMap4Json(String jsonString)...{
        JSONObject jsonObject = JSONObject.fromObject( jsonString ); 
        Iterator  keyIter = jsonObject.keys();
        String key;
        Object value;
        Map valueMap = new HashMap();

        while( keyIter.hasNext())
        ...{
            key = (String)keyIter.next();
            value = jsonObject.get(key);
            valueMap.put(key, value);
        }
       
        return valueMap;
    }
   
   
    /** *//**
     * 从json数组中得到相应java数组
     * @param jsonString
     * @return
     */
    public static Object[] getObjectArray4Json(String jsonString)...{
        JSONArray jsonArray = JSONArray.fromObject(jsonString);
        return jsonArray.toArray();
       
    }
   
   
    /** *//**
     * 从json对象集合表达式中得到一个java对象列表
     * @param jsonString
     * @param pojoClass
     * @return
     */
    public static List getList4Json(String jsonString, Class pojoClass)...{
       
        JSONArray jsonArray = JSONArray.fromObject(jsonString);
        JSONObject jsonObject;
        Object pojoValue;
       
        List list = new ArrayList();
        for ( int i = 0 ; i<jsonArray.size(); i++)...{
           
            jsonObject = jsonArray.getJSONObject(i);
            pojoValue = JSONObject.toBean(jsonObject,pojoClass);
            list.add(pojoValue);
           
        }
        return list;

    }
   
    /** *//**
     * 从json数组中解析出java字符串数组
     * @param jsonString
     * @return
     */
    public static String[] getStringArray4Json(String jsonString)...{
       
        JSONArray jsonArray = JSONArray.fromObject(jsonString);
        String[] stringArray = new String[jsonArray.size()];
        for( int i = 0 ; i<jsonArray.size() ; i++ )...{
            stringArray[i] = jsonArray.getString(i);
           
        }
       
        return stringArray;
    }
   
    /** *//**
     * 从json数组中解析出javaLong型对象数组
     * @param jsonString
     * @return
     */
    public static Long[] getLongArray4Json(String jsonString)...{
       
        JSONArray jsonArray = JSONArray.fromObject(jsonString);
        Long[] longArray = new Long[jsonArray.size()];
        for( int i = 0 ; i<jsonArray.size() ; i++ )...{
            longArray[i] = jsonArray.getLong(i);
           
        }
        return longArray;
    }
   
    /** *//**
     * 从json数组中解析出java Integer型对象数组
     * @param jsonString
     * @return
     */
    public static Integer[] getIntegerArray4Json(String jsonString)...{
       
        JSONArray jsonArray = JSONArray.fromObject(jsonString);
        Integer[] integerArray = new Integer[jsonArray.size()];
        for( int i = 0 ; i<jsonArray.size() ; i++ )...{
            integerArray[i] = jsonArray.getInt(i);
           
        }
        return integerArray;
    }
   
    /** *//**
     * 从json数组中解析出java Date 型对象数组,使用本方法必须保证
     * @param jsonString
     * @return
     */
    public static Date[] getDateArray4Json(String jsonString,String DataFormat)...{
       
        JSONArray jsonArray = JSONArray.fromObject(jsonString);
        Date[] dateArray = new Date[jsonArray.size()];
        String dateString;
        Date date;
       
        for( int i = 0 ; i<jsonArray.size() ; i++ )...{
            dateString = jsonArray.getString(i);
            date = DateUtil.stringToDate(dateString, DataFormat);
            dateArray[i] = date;
           
        }
        return dateArray;
    }
   
    /** *//**
     * 从json数组中解析出java Integer型对象数组
     * @param jsonString
     * @return
     */
    public static Double[] getDoubleArray4Json(String jsonString)...{
       
        JSONArray jsonArray = JSONArray.fromObject(jsonString);
        Double[] doubleArray = new Double[jsonArray.size()];
        for( int i = 0 ; i<jsonArray.size() ; i++ )...{
            doubleArray[i] = jsonArray.getDouble(i);
           
        }
        return doubleArray;
    }
   
   
    /** *//**
     * 将java对象转换成json字符串
     * @param javaObj
     * @return
     */
    public static String getJsonString4JavaPOJO(Object javaObj)...{
       
        JSONObject json;
        json = JSONObject.fromObject(javaObj);
        return json.toString();
       
    }
   
   
   
   
    /** *//**
     * 将java对象转换成json字符串,并设定日期格式
     * @param javaObj
     * @param dataFormat
     * @return
     */
    public static String getJsonString4JavaPOJO(Object javaObj , String dataFormat)...{
       
        JSONObject json;
        JsonConfig jsonConfig = configJson(dataFormat);
        json = JSONObject.fromObject(javaObj,jsonConfig);
        return json.toString();
       
       
    }
   
   
   
    /** *//**
     * @param args
     */
    public static void main(String[] args) ...{
        // TODO 自动生成方法存根

    }
   
    /** *//**
     * JSON 时间解析器具
     * @param datePattern
     * @return
     */
    public static JsonConfig configJson(String datePattern) ...{  
            JsonConfig jsonConfig = new JsonConfig();  
            jsonConfig.setExcludes(new String[]...{""});  
            jsonConfig.setIgnoreDefaultExcludes(false);  
            jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT);  
            jsonConfig.registerJsonValueProcessor(Date.class,  
                new DateJsonValueProcessor(datePattern));
分享到:
评论

相关推荐

    java的xml和json相互转换工具类,亲测直接用

    本篇文章将详细介绍Java中如何实现XML和JSON的相互转换,并提供一个名为`XmlToJson.java`的工具类作为参考。 首先,XML是一种结构化的数据表示方式,它以树形结构存储数据,易于人类阅读和编写,同时也易于机器解析...

    JAVA-JSON工具转换类

    总的来说,`JAVA-JSON工具转换类`这个主题涵盖了JSON数据处理的核心部分,包括JSON的序列化和反序列化,以及数据类型的转换。通过`json-lib`和`ezmorph`这两个库,开发者可以轻松地在Java程序中处理JSON数据,而`...

    Json处理工具类

    ### Json处理工具类知识点 #### 一、简介 在Java编程中,经常需要对JSON数据进行解析、构建或转换等操作。为此,本知识点将基于提供的文件内容介绍一个实用的`JsonHandle`类,该类封装了多个用于处理JSON字符串的...

    xml/Json转换工具类

    本篇将详细介绍如何使用Java工具类进行XML与JSON的转换,并介绍相关知识。 首先,`pom依赖.txt`文件中应包含的是Maven项目的依赖信息。在Java项目中,我们需要引入处理XML和JSON转换的库。通常,我们使用如Jackson...

    .NET JSON 工具包

    例如,当你有一个C#类,并且想要将其以JSON格式发送到前端网页时,JSON工具包会将类的所有属性转换成相应的JSON键值对。 2. **反序列化**:将JSON字符串转换回.NET对象。这在接收来自外部的数据时非常有用,可以将...

    实体类反射非空赋值,AjaxJson工具类

    在“实体类反射非空赋值,AjaxJson工具类”这个主题中,我们将探讨如何使用反射来安全地为实体类的属性赋值,并结合Ajax与JSON进行数据的转换和交互。 首先,让我们深入了解反射的概念。Java反射API提供了Class类,...

    json-lib 解析json串工具类

    这个工具类“json-lib 解析json串工具类”就是专门为了解析JSON字符串而设计的,它能够帮助开发者有效地将JSON数据转换为Java对象,反之亦然。 1. **JSON对象与Java对象的映射** `json-lib`库支持将JSON对象转换为...

    Android list转json工具类

    本篇文章将深入探讨如何在Android中实现一个将集合List转化为JSON字符串的工具类,以及在联网调接口时处理参数的方法。 首先,我们需要了解JSON的基本结构。JSON主要包含两种数据结构:对象(Object)和数组(Array...

    一款很好用的JSON工具

    标题中的“一款很好用的JSON工具”指的是专门设计用于处理JSON数据的软件或在线平台。这样的工具通常提供友好的用户界面,使用户可以方便地查看、编辑和测试JSON数据。它们可能包含以下功能: 1. **解析和展示**:...

    JSON对象转换工具类

    为了方便地进行JSON与Java对象之间的转换,通常会封装一个JSON工具类。本文将详细介绍一个名为`JsonUtils`的工具类,它提供了两个主要功能:一是将JSON字符串转换为指定类型的Java对象;二是将Java对象转换为JSON...

    最好用的Json工具.exe

    "最好用的Json工具.exe",根据标题可以推断,这是一个用于处理JSON数据的桌面应用程序,名为Hijson。这类工具的主要功能通常包括JSON的解析、格式化、验证以及可能的转换。Hijson能够帮助开发者高效地处理JSON字符串...

    工具类,根据给定长度,使用递归的方式拆分一个json成为多个json组成的列表

    在这个场景中,"工具类,根据给定长度,使用递归的方式拆分一个json成为多个json组成的列表"就是解决此类问题的一个方法。 首先,我们要理解这个工具类的工作原理。递归是一种在函数内部调用自身的技术,通常用于...

    Json生成实体类工具

    总结来说,“Json生成实体类工具”是一个实用的开发辅助工具,它能够帮助开发者高效地处理JSON数据,减少手动编码的时间和错误,提升开发效率。对于Android开发者来说,它是一个不可或缺的利器,特别是在处理大量...

    json格式转换工具类

    综上所述,"json格式转换工具类"涉及到的是如何在Java环境中高效、安全地进行JSON数据的序列化与反序列化,以及自定义转换规则和处理潜在的安全风险。选择合适的工具库,并理解其基本用法,是提升开发效率的关键。

    java转json工具类说明文档.docx

    本文档主要介绍了两个Java工具类——JsonUtilsForJsonLib和JsonUtils,它们能够帮助我们将Java对象转换成JSON对象或字符串,以适应Ext框架对AJAX和JSON数据的需求。 JsonUtilsForJsonLib类依赖于官方提供的JSON库,...

    json和xml工具类

    本篇文章将深入探讨如何使用自定义的工具类`AppUtil`来简化JSON和XML的生成过程。 首先,JSON是一种轻量级的数据交换格式,它基于JavaScript语法,但独立于语言,易于人阅读和编写,同时也易于机器解析和生成。JSON...

    xml与json互转工具类

    这类工具类通常会依赖一些库,如Jackson、Gson或Fastjson等,这些库提供了高效的XML和JSON解析及转换功能。 `JsonEasyView`类可能是一个辅助类,用于美化和格式化显示JSON数据。在开发中,为了便于查看和调试JSON...

    使用JSON插件实现JSON类型的Result

    在实际项目中,我们可能通过Maven或Gradle等构建工具管理这些依赖。 总结一下,实现JSON类型的Result主要涉及以下步骤: 1. 创建表示业务结果的Java对象,如`JSONObject`。 2. 在处理请求的方法中,将业务逻辑的...

    map,list转成json的工具类

    本篇将详细介绍如何使用两个Java工具类,`JackSonUtil` 和 `GsonUtil`,将Map和List对象转换为JSON字符串。 首先,`JackSonUtil` 是基于Jackson库的一个工具类,Jackson是Java中最流行的JSON处理库之一,提供了高效...

    格式转换工具json2bin

    7. **性能优化**:高效的转换算法是这类工具的关键,快速处理大型JSON文件以减少等待时间。 在使用json2bin工具时,需要注意的是,由于二进制格式的特定性,转换过程可能会丢失JSON的一些特性,如注释和顺序。此外...

Global site tag (gtag.js) - Google Analytics