`
zhanshi258
  • 浏览: 48080 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

fastjson来做Json转换例子

    博客分类:
  • Java
阅读更多

不多说废话了,比较简单,直接上代码吧,都是在本人电脑上跑过的。

说明下还有个Student的实体类没上传了,随便搞几个属性测试下就可以。

 

转换类:

import java.io.IOException;
import java.util.Collections;
import java.util.List;

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

public class HTTPHelper {
	
	private static String jsonStr = "{\"mobilePhone\":\"13510398031\",\"userName\":\"李四\"}";
	private static String jsonStr2 = "[{\"mobilePhone\":\"13510398031\",\"userName\":\"李四\"},{\"mobilePhone\":\"13824568145\",\"userName\":\"张三\"}]";
	
	private static final JSON buildJSON(String jsonStr)
			throws IOException {
		return JSONSerializer.toJSON(jsonStr);
	}

	//字符串 转 JSONObject
	public static final JSONObject buildJSONObject()
			throws IOException {
		return (JSONObject) buildJSON(jsonStr);
	}

	//字符串(数组) 转 JSONArray
	public static final JSONArray buildJSONArray()
			throws IOException {
		return (JSONArray) buildJSON(jsonStr2);
	}

	// 字符串 转 JSONObject
    public static final JSONObject buildJSONObjectFromParameter() throws IOException {
        return JSONObject.fromObject(jsonStr);
    }

    // 字符串(数组) 转 JSONArray
    public static final JSONArray buildJSONArrayFromParameter() throws IOException {
        return JSONArray.fromObject(jsonStr2);
    }

    //Json字符串 转 实体对象
    public static final <T> T getObject(Class<T> clazz) throws IOException {
        return com.alibaba.fastjson.JSONObject.parseObject(jsonStr, clazz);
    }

    //Json字符串 转 数组对象
    @SuppressWarnings("unchecked")
    public static final <T> List<T> getList(Class<T> clazz) throws IOException {
        List<T> list = com.alibaba.fastjson.JSONArray.parseArray(jsonStr2, clazz);
        return list == null ? Collections.EMPTY_LIST : list;
    }
    
    // 对象 转 Json字符串
    public static final String getJsonString(Object o) throws IOException {
    	return com.alibaba.fastjson.JSONObject.toJSONString(o);
    }
    
    // 对象 转 com.alibaba.fastjson.JSONObject对象
    public static final com.alibaba.fastjson.JSONObject getJson(Object o) throws IOException {
    	return (com.alibaba.fastjson.JSONObject)com.alibaba.fastjson.JSONObject.toJSON(o);
    }
    
    //数组对象 转 Json字符串
    public static final String getJsonArrayString(Object o) throws IOException {
    	return com.alibaba.fastjson.JSONArray.toJSONString(o);
    }
}

 

 

测试代码:

import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

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

import com.user.Student;
import com.utils.HTTPHelper;

public class HTTPHelperTest {

	public static void main(String[] args) throws IOException {
		// 字符串 转 JSONObject
		JSONObject jsonObject = HTTPHelper.buildJSONObjectFromParameter();
		String account = jsonObject.getString("mobilePhone");
		String name = jsonObject.getString("userName");
		System.out.println(account+"======================"+name);
		
		// 字符串(数组) 转 JSONArray
		JSONArray jsonArray = HTTPHelper.buildJSONArrayFromParameter();
		System.out.println(jsonArray);
		Iterator iterator = jsonArray.iterator();
		while (iterator.hasNext()) {
			JSONObject jsonObj = (JSONObject) iterator.next();
			System.out.println(jsonObj.getString("userName"));
		}
		
		// 字符串(数组) 转 JSONArray
		JSONArray jsonArr = HTTPHelper.buildJSONArray();
		System.out.println(jsonArr);
		Iterator iterator1 = jsonArr.iterator();
		while (iterator1.hasNext()) {
			JSONObject jsonObj = (JSONObject) iterator1.next();
			System.out.println(jsonObj.getString("userName"));
		}
		
		//Json字符串 转 实体对象
		Student s = HTTPHelper.getObject(Student.class);
		System.out.println(s.getUserName());
		
		
		//Json字符串 转 数组对象
		List<Student> list = HTTPHelper.getList(Student.class);
		System.out.println(list.size());
		for(int i=0;i<list.size();i++){
			System.out.println(list.get(i).getUserName());
		}
		
		// 对象 转 Json字符串
		Student stu = new Student();
		stu.setAge(45);
		stu.setBirthDay(new Date());
		List<String> hobbiy = new ArrayList<String>();
		hobbiy.add("唱歌");hobbiy.add("跳舞");hobbiy.add("爬山");
		stu.setHobbiy(hobbiy);
		stu.setUserName("张三");
		System.out.println(HTTPHelper.getJsonString(stu));
		
		// 对象 转 com.alibaba.fastjson.JSONObject对象
		com.alibaba.fastjson.JSONObject jsonObj = HTTPHelper.getJson(stu);
		System.out.println(jsonObj.getString("userName"));
		
		//数组对象 转 Json字符串
		List<Student> listStudent = new ArrayList<Student>();
		listStudent.add(stu);
		System.out.println(HTTPHelper.getJsonArrayString(listStudent));
	}
}

 

使用的主要jar包:

  fastjson-1.2.5.jar

  json-lib-2.4-jdk15.jar

分享到:
评论

相关推荐

    fastjson的一个小例子

    FastJson是阿里巴巴开源的一款高性能的JSON库,它主要用于Java对象与JSON字符串之间的转换。在这个小例子中,我们将深入探讨FastJson的使用方法,以及它如何帮助开发者在Android开发中快速处理JSON数据。 在Android...

    fastjson Json解析

    Fastjson是阿里巴巴开源的一款高性能的Java JSON库,它提供了非常快速的JSON到Java对象以及Java对象到JSON字符串的转换能力。在处理JSON数据时,Fastjson因其简单易用、性能优异而备受开发者喜爱。在本文中,我们将...

    Json_Gson_FastJson解析

    总结来说,org.json适合简单的JSON操作,而Gson和FastJson则提供了更丰富的功能,如直接映射到Java对象。Gson易于使用,而FastJson在性能上有优势。选择哪种库取决于项目的具体需求,如性能、易用性或对Java对象的...

    Json解析案例json,fastjson,gson

    本文将深入探讨三种广泛使用的JSON解析库:原生的`json`库,阿里巴巴的`fastjson`,以及Google的`gson`。 ### 1. 原生`json`库 Android系统内建了一个简单的`org.json`库,提供基本的JSON操作。它包括`JSONObject`...

    SpringBoot中使用FastJson解析Json数据示例代码

    以下是一个简单的例子,展示如何使用FastJson将Java对象转换为JSON字符串,以及将JSON字符串反序列化为Java对象: ```java import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import ...

    fastjson的各种用法例子

    通过以上实例,你可以了解Fastjson的基本用法,包括对象、数组的转换,JSON字符串的解析与构建,以及JSONPath和JSON Schema的使用。在实际项目中,结合这些知识点,你可以灵活地处理JSON数据。记住,实践是最好的...

    fastJson依赖jar包

    快速JSON(Fastjson)是阿里巴巴开发的一个高性能的Java JSON库,它能解析JSON格式的数据,并将其转换为Java对象,反之亦然。Fastjson以其高效、轻量级的特点,在Java开发中广泛应用于数据交换和序列化场景。这个...

    fastjson生成json时Null属性不显示的解决方法

    在JSON序列化过程中,有时我们需要将Java对象转换成JSON字符串,Fastjson是一个高效且功能丰富的JSON库,由阿里巴巴开发并维护。然而,默认情况下,当Java对象中的某个属性值为`null`时,Fastjson在生成JSON字符串时...

    Android FastJSON小示例

    同样,FastJSON也支持将Java对象转换为JSON字符串: ```java import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.annotation.JSONField; import com.alibaba.fastjson.serializer.SerializerFeature; ...

    Java fastjson解析json字符串实现过程解析

    Java Fastjson是阿里巴巴提供的一款高性能的JSON库,它主要用于处理JSON与Java对象之间的转换,使得在Java程序中处理JSON数据变得更加便捷。Fastjson以其高效、轻量级的特点,在Java开发中广泛应用,尤其在Web服务、...

    javabean和json转换_javabean2json_

    Gson的`fromJson()`方法接收一个JSON字符串和目标类的Class对象,然后将JSON转换为对应的JavaBean实例。 除了Gson之外,其他的库如Jackson和Fastjson也有类似的API,但使用方法略有不同。例如,使用Jackson,我们...

    fastjson基础

    1. **序列化(对象转 JSON)**:将 Java 对象转换为 JSON 字符串是 FastJson 最基本的功能。例如,我们有一个 User 类,可以这样转换: ```java import com.alibaba.fastjson.JSON; public class User { private ...

    Json构造器java例子 json java

    总的来说,Java中构造JSON对象主要通过Gson、Jackson和Fastjson等库实现,它们能方便地将Java对象转换为JSON格式,便于数据交换。在实际开发中,根据项目需求和性能考虑,可以选择适合的库进行JSON操作。

    java使用FastJson解析Json数据

    在实际应用中,FastJson可以用来将复杂的Java对象转换成JSON格式的字符串,或者将JSON格式的字符串转换成相应的Java对象。这种转换能力是非常强大的,因为它允许开发者在Java后端与各种前端框架之间进行灵活的数据...

    springMVC利用FastJson接口返回json数据相关配置详解

    总的来说,Spring MVC结合Fastjson可以方便地处理JSON数据的转换和返回,尤其对于处理复杂对象结构和循环引用的情况,Fastjson的性能和灵活性使其成为一种优秀的选择。同时,通过灵活配置Fastjson的序列化特性,可以...

    android 优化解析json例子

    Gson的`fromJson`方法会将JSON字符串转换为指定类型的Java对象。 5. **利用类型Adapter**:Gson允许自定义`TypeAdapter`,对特定类型的数据进行定制化解析,比如日期格式、自增ID等,提高解析效率。 6. **避免过度...

    Fastjson解析案例

    总结来说,Fastjson作为一个强大的JSON处理工具,它的主要功能是Java对象与JSON数据之间的转换,极大地简化了开发人员处理JSON数据的工作。了解和熟练使用Fastjson对于任何Java开发者来说都是一项重要的技能,特别是...

    java-对象数组转换为json

    无论是将Java对象数组转换为JSON,还是将JSON转换为Java对象数组,掌握这些转换技巧对于处理Web服务、API请求响应、数据持久化等方面都是非常有帮助的。此外,熟悉各种可用的库及其特性,可以帮助开发者根据项目具体...

    java服务端生成json(json服务端)

    在Java中,我们可以使用多种库来实现JSON的生成,如Gson和FastJson。 **Gson库** Google开发的Gson库提供了强大的功能,能够将Java对象转换为JSON字符串,反之亦然。使用Gson,你可以轻松地将Java对象序列化为JSON...

    android JSon解析例子

    `JSONObject`代表一个JSON对象,可以通过构造函数接收一个字符串来创建。例如: ```java String jsonString = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}"; JSONObject jsonObject = new JSONObject...

Global site tag (gtag.js) - Google Analytics