`

FastJson 操作JSON字符串

    博客分类:
  • Json
阅读更多

一、javabean反射工具类,可以在控制台中输出一个对象的属性值列表

public class ReflectionUtil {

public static boolean isShow = true; //是否启用

 

/**

* 获得一个对象的属性值

* @author:qiuchen

* @createTime:2012-7-4

* @param obj 目标对象

*/

@SuppressWarnings("unchecked")

public static void getFieldValue(Object obj){

if (isShow) getFieldValue(obj, isShow);

}

/**

* 获得一个对象的属性值

* @author:qiuchen

* @createTime:2012-7-4

* @param obj 目标对象

*/

@SuppressWarnings("unchecked")

private static void getFieldValue(Object obj,boolean isShow){

Class cls = obj.getClass();

        Method[] methods = cls.getDeclaredMethods();//获得类的方法集合

        StringBuffer buffer = new StringBuffer();

        try {

        for (Method method : methods) {

if(method!=null && method.getName().startsWith("get")){

Object value = method.invoke(obj, null);

value = method.getName().substring(3)+":"+value+","; 

buffer.append(value);

}

}

        } catch (Exception e) {

        e.printStackTrace();

        }

        System.out.println(cls.toString()+"["+buffer.toString()+"]");

}

public static void main(String[] args) {

}

}

 

二、F盘的属性文件内容

### fastjs### fastjson操作JSON ###

json1={"name":"cena","age":"35","sex":"男"}

json2=[{"name":"cena","age":"35","sex":"男"},{"name":"hhh","age":"37","sex":"男"},{"name":"ever","age":"25","sex":"女"}]

json3={"name":"cena","age":"35","sex":"男","hobbies":[{"name":"踢球","hYear":"2年"},{"":"","":""}]}

 

三、FastJson工具类

import java.util.ArrayList;

import java.util.List;

import java.util.Properties;

import com.alibaba.fastjson.JSON;

import com.alibaba.fastjson.JSONArray;

import com.alibaba.fastjson.JSONObject;

import com.ttpod.slt.model.Hobby;

import com.ttpod.slt.model.User;

 

public class JsonUtil {

/**

* 从json字符串中解析出java对象

* @author:qiuchen

* @createTime:2012-7-8

* @param jsonStr json格式字符串

* @param clazz java类

* @return clazz的实例

*/

public static Object parseJavaObject(String jsonStr,Class clazz){

return JSON.toJavaObject(JSON.parseObject(jsonStr), clazz);

}

/**

* 测试方法

* @author:qiuchen

* @createTime:2012-7-8

* @param args

*/

public static void main(String[] args) {

//0.0加载属性文件(所有json字符串从文件中读取)

Properties pp = PropertiesUtil.getProperties("f:/properties.properties");

//0.1简单格式的json字符串

String json1 = pp.getProperty("json1"); 

System.out.println(json1);

User user = (User)JsonUtil.parseJavaObject(json1,User.class);

ReflectionUtil.getFieldValue(user);

//0.2数组形式的json字符串

String json2 = pp.getProperty("json2"); 

System.out.println(json2);

JSONArray array = JSONArray.parseArray(json2);

List<User> userList = new ArrayList<User>();

for(int i = 0; i < array.size();i++){

JSONObject jobj = (JSONObject)array.get(i);

User user2 = JSON.toJavaObject(jobj,User.class);

userList.add(user2);

}

for(User u : userList){

ReflectionUtil.getFieldValue(u);

}

//0.3复杂数组形式的json字符串

String json3 = pp.getProperty("json3");

System.out.println(json3);

User user3 = (User)JsonUtil.parseJavaObject(json3, User.class);

ReflectionUtil.getFieldValue(user3);

for(Hobby h : user3.getHobbies()){

ReflectionUtil.getFieldValue(h);

}

}

}

分享到:
评论

相关推荐

    java使用fastJson处理复杂Json字符串,直接获取key对应的value值

    java使用fastJson处理复杂Json字符串,直接获取key对应的value值

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

    在开始解析JSON字符串之前,首先需要将Fastjson的依赖添加到项目中。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;com.alibaba&lt;/groupId&gt; &lt;artifactId&gt;fastjson &lt;version&gt;1.2.67 ...

    封装 fastjson 的json格式化工具

    在实际开发中,我们经常需要将JSON字符串进行格式化,以便于查看和调试,本文将详细介绍如何使用Fastjson封装一个JSON格式化工具。 首先,我们需要引入Fastjson的依赖。如果你使用的是Maven,可以在pom.xml文件中...

    fastjson解析json的jar

    3. **全面支持**:支持JSON到Java对象,Java对象到JSON字符串的转换,同时支持JSON到JSON对象,JSON对象到JSON字符串的操作。 二、Fastjson的核心功能 1. **序列化**:将Java对象转换为JSON字符串。例如,一个Java...

    fastjson解析json.rar

    3. 将JSON字符串转为Java对象:Fastjson提供了`parseObject()`方法,可以将JSON字符串转换为对应的Java对象。例如,如果JSON字符串代表一个`Product`对象,你可以这样转换: ```java String jsonString = "{'id':1...

    gson,fastJson,json-lib实例

    在Java世界中,我们通常需要将JSON字符串解析为Java对象,或将Java对象序列化为JSON字符串,这就需要用到JSON库。在这个实例中,我们将讨论三种流行的Java JSON库:Gson、FastJson和json-lib。 1. Gson: Gson是...

    json字符串转换插件

    在Java开发中,处理JSON字符串通常需要借助第三方库,如Gson、Jackson或Fastjson等。本篇将深入探讨“json字符串转换插件”,重点介绍如何在项目中引入和使用这类工具。 首先,我们来理解JSON的基本结构。JSON基于...

    com.alibaba.fastjson.JSON , net.sf.json.JSONObject

    Fastjson支持Java对象与JSON之间的相互转换,包括JSON字符串到Java对象的反序列化以及Java对象到JSON字符串的序列化。它还提供了解析JSON和生成JSON的功能,可以方便地进行JSON操作,例如: 1. 将Java对象转换为...

    复杂的json字符串解析(真实案例)

    在实际项目中,我们经常需要解析JSON字符串以获取其中的数据,这通常涉及到各种JSON解析库。在这个真实案例中,我们将深入探讨如何使用Gson库来解析复杂的JSON字符串。 Gson是Google提供的一个Java库,它能够将Java...

    Alibaba Fastjson Jar包.zip

    `JSON`类是Fastjson的核心,提供了基本的JSON操作,如对象与JSON字符串之间的转换,而`JSONArray`则代表一个JSON数组,可以存储多个JSON对象。 Fastjson的主要特点包括: 1. 性能优秀:Fastjson的设计目标就是追求...

    java FASTJSON 解析复杂JSON实例源码

    - `JSONObject.parseObject(String jsonString, Class&lt;T&gt; clazz)`:将JSON字符串解析为Java对象,其中`T`是你想要的类类型。 - `JSONArray.parseArray(String jsonString, Class&lt;T&gt; clazz)`:将JSON字符串解析为...

    将json字符串转化为对象

    当我们接收到一个JSON字符串时,我们经常需要将其转换为编程语言中的对象以便进行进一步的操作。本篇将详细讲解如何利用Java中的两个库——Fastjson和Json-lib,将JSON字符串转化为对象。 首先,`Fastjson`是由阿里...

    使用fastjson实现对象和json串之间的相互转换的jar包

    为了方便地在Java对象与JSON字符串之间进行转换,阿里巴巴开发并提供了Fastjson库。这个库因其高效、易用的特性,在Java社区中得到了广泛应用。 Fastjson是一个Java语言编写的高性能功能完备的JSON库,它能够快速地...

    Java Web程序实现返回JSON字符串的方法总结

    Java Web 程序实现返回 JSON 字符串的方法总结 Java Web 程序实现返回 JSON 字符串的方法总结是 Java Web 开发中非常重要的一部分。随着 JSON 数据交换格式的广泛应用,Java Web 程序员需要学习如何将 Java 对象...

    fastjson+json jar包

    Fastjson的核心功能包括JSON字符串与Java对象之间的相互转换。通过这个库,你可以将Java对象序列化为JSON字符串,或者将JSON字符串反序列化为Java对象。这对于处理API响应、存储数据或在应用程序的不同组件之间传递...

    FastJson解析Json数据源码-旧版

    FastJson的核心功能是将Java对象转换为JSON字符串,以及将JSON字符串反序列化为Java对象。它提供了丰富的API接口,使得操作JSON变得简单易行。FastJson的高效主要得益于其对数据结构和算法的精心设计。 首先,我们...

    FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换操作

    在Java开发中,处理JSON数据时,...无论是简单的键值对,还是复杂的嵌套结构,FastJson都能有效地进行JSON字符串、JSON对象与JavaBean之间的转换。在实际开发中,熟练掌握这些转换操作能极大地提高代码的可读性和效率。

    Android中FastJson解析json

    1. **JSON字符串到Java对象的转换**:FastJson提供了一种简单的方式来将JSON字符串解析成Java对象,例如: ```java String jsonString = "{\"name\":\"John\", \"age\":30}"; Person person = JSON.parseObject...

    JSON字符串和java对象的相互转换

    在Java开发中,JSON字符串与Java对象之间的相互转换是常见的操作,特别是在网络通信、数据存储以及API接口设计等领域。 JSON字符串转Java对象: 在Java中,我们通常使用第三方库如Jackson、Gson、Fastjson等来实现...

    java转json串的几种方法

    以下我们将详细探讨Java中将对象转换为JSON字符串的三种方法,这里使用的是阿里巴巴的Fastjson库,它是一个高性能的JSON库,提供了丰富的API来处理JSON与Java对象之间的转换。 1. **将Java对象转成JSON串** 当我们...

Global site tag (gtag.js) - Google Analytics