`
步青龙
  • 浏览: 298160 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
博客专栏
72ba33fb-eefe-3de1-bd65-82a6e579265d
Java面试
浏览量:0
社区版块
存档分类
最新评论

fastjson 应用 string字符串转换成java对象或者对象数组

 
阅读更多

代码如下

 

import java.util.ArrayList;
import java.util.Arrays;  
import java.util.List;  
  
import com.alibaba.fastjson.JSON;  
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;  
  
  
public class TestFastJson {    
    public static void main(String[] args) {    
        //  转换成对象    
        String jsonstring = "{\"a\":51,\"b\":0}";    
        Usa u1 = JSON.parseObject(jsonstring, new TypeReference<Usa>(){});  
        Usa u2 = JSON.parseObject(jsonstring,Usa.class);  
        // 转换成对象数组     
        String jsonstring2 = "[{\"a\":51,\"b\":0}]";    
        Usa[] usa2 = JSON.parseObject(jsonstring2, new TypeReference<Usa[]>(){});    
        List list = Arrays.asList(usa2); 
        // 转换成ArrayList
        ArrayList<Usa> list2 = JSON.parseObject(jsonstring2, new TypeReference<ArrayList<Usa>>(){}); 
        
        // 转换成ArrayList(默认)    list3  与 list4  效果相同
        ArrayList<JSONObject> list3 = JSON.parseObject(jsonstring2, new ArrayList<Usa>().getClass()); 
        ArrayList<JSONObject> list4 = JSON.parseObject(jsonstring2, ArrayList.class); 
        for (int i = 0; i < list4.size(); i++) { //  推荐用这个
        	JSONObject io = list4.get(i);
        	System.out.println(io.get("a") + "======adn====="+io.get("b"));
		}
    }    
}    
class Usa {
	private int count = 1888;
	private String base = "project";
	private Long a;    
    public Long getA() {    
        return a;    
    }    
    public void setA(Long a) {    
        this.a = a;    
    }    
    private String b;    
    public String getB() {    
        return b;    
    }    
    public void setB(String b) {    
        this.b = b;    
    }    
}    
 
 

json字符串 直接转换成List

 

 ArrayList<Usa> usa2 = JSON.parseObject(jsonstring2, new TypeReference<ArrayList<Usa>>(){}); 

 或者转换成对象数组

   Usa[] usa2 = JSON.parseObject(jsonstring2, new TypeReference<Usa[]>(){});  

 

  对象数组转List  

   List list = Arrays.asList(usa2);    

 

我们使用new TypeReference的时候会生成多个class文件 里面有多少个new TypeReference 就会新增了class

即使我们在for循环里(0-N)写new TypeReference 这段代码也是多生成一个class文件,fastjson是看我们写了多少new TypeReference,而不是调用了多少次new TypeReference。推荐用ArrayList.class 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    java-对象数组转换为json

    下面将深入探讨如何在Java中实现对象数组向JSON的转换,并反过来将JSON字符串转换为Java对象数组,同时也会提及一些相关技术和代码示例。 ### Java对象数组转JSON 首先,我们来看如何将一个Java对象数组转换成JSON...

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

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

    java String 转成Double二维数组的方法

    这里我们使用了阿里巴巴的Fastjson库,它可以将JSON格式的字符串转换为Java对象。因此,我们可以调用`JSON.parseObject()`方法将字符串解析为String类型的二维数组: ```java String[][] arr = JSON.parseObject...

    java FASTJSON 解析复杂JSON实例源码

    - `JSONArray.parseArray(String jsonString, Class&lt;T&gt; clazz)`:将JSON字符串解析为Java对象数组。 2. **将Java对象转换为JSON字符串** - `JSON.toJSONString(Object obj)`:将Java对象转换为JSON格式的字符串。...

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

    首先,我们需要将JSON字符串转换成`JSONObject`对象,然后根据需求解析其中的数据。以下是一个简单的例子,展示如何解析包含数组的JSON字符串: ```java import com.alibaba.fastjson.JSON; import ...

    json字符串转换插件

    在Java中,我们通常需要将这样的JSON字符串转换为Java对象,或者将Java对象转换为JSON字符串,以便于数据的序列化和反序列化。 以Gson库为例,它是Google提供的一个强大的JSON处理库。要在项目中使用Gson,首先需要...

    fastjson精简完整Web实例

    // data是一个JavaScript对象,已由jQuery从JSON字符串转换而来 // 可以在这里遍历和操作数据 } }); ``` 这个精简实例可能是为了演示如何在实际项目中使用Fastjson处理动态生成的JSON数据,从而提高开发效率和...

    fastJsonDemo

    FastJson提供了`parseObject()`方法,可以将JSON字符串转换为Java对象。例如,如果我们有如下的JSON字符串: ```json { "name": "John", "age": 30, "city": "New York" } ``` 我们可以创建一个对应的Java类`...

    fastJSON文档

    使用`JSON.parseObject()`方法可以从JSON字符串转换为Java对象,例如: ```java String jsonString = "{\"name\":\"John\", \"age\":30}"; Person person = JSON.parseObject(jsonString, Person.class); ``` ...

    JAVA JSON;String 转换为 java类

    本文将详细探讨如何在Java中将JSON字符串转换为Java实体类。 首先,你需要引入一个JSON库,如Jackson、Gson或Fastjson。这里以Jackson为例,因为它是目前广泛使用的JSON处理库,提供了强大的JSON操作功能。 1. **...

    FastJson应用案例.txt

    它主要提供了两个核心功能:将Java对象转换为JSON字符串(序列化)以及将JSON字符串转换为Java对象(反序列化)。FastJson的设计原则在于“快”,其速度在同类产品中处于领先地位。 特点概述: 1. **快速**:...

    fastjson.jar包资源

    例如,`JSONArray.parseArray(String jsonString, Class&lt;T&gt; clazz)`可以将JSON数组字符串转换为指定类型的Java对象列表。 3. 高效的解析与生成速度:Fastjson在性能上表现优秀,其解析和生成速度远超其他同类库,这...

    JSON字符转JSON对象

    `JsonUtil.java` 文件很可能是一个自定义的工具类,它封装了Fastjson的一些常用操作,如将JSON字符串转换为Java对象,或者将Java对象转换为JSON字符串。下面是一些可能在`JsonUtil.java`中实现的方法: 1. `...

    【Gson+fastjson】json转换工具

    Gson是Google提供的一款开源库,它能够将Java对象转换为JSON字符串,同时也能够将JSON内容反序列化为Java对象。Gson的强大之处在于它的灵活性和深度映射能力。以下是一些基本使用示例: 1. 对象转JSON: ```java ...

    JSON对象互转案例fastjson

    例如,如果你有一个Java对象,你可以使用`stringify()`方法将其转换成JSON格式的字符串,以便于在网络间传输或者存储。这个过程也被称为序列化。例如: ```java Person person = new Person("John", 30); String ...

    fastjson.pdf

    FastJSON支持序列化和反序列化操作,即可以将Java对象转换为JSON字符串或将JSON字符串转换为Java对象。 - **序列化** (Serialization): 将Java对象转换为JSON字符串。 - **反序列化** (Deserialization): 将JSON...

    fastjson1.2.2.zip

    3. **类型转换**:Fastjson支持自动类型转换,如将JSON字符串转换为Java对象,或者将Java对象转换为JSON字符串。 4. **流式解析和生成**:对于大数据量的处理,Fastjson提供了流式解析和生成,有效减少内存消耗。 ...

    fastjson-1.2.78.jar.zip

    1. JSON到Java对象的映射:Fastjson支持将JSON字符串解析为Java对象,例如JSONObject、JSONArray等,同时也支持将Java对象转换成JSON字符串。 2. 数据类型自动适配:Fastjson可以自动识别Java对象的属性类型,并进行...

    Json字符串转Java对象和List代码实例

    - `getObject`: 将JSON字符串转换为Java对象。这个方法接受一个JSON字符串和一个Class对象作为参数,Class对象表示你想要转换的目标类型。它使用Fastjson的`parseObject`方法,将JSON字符串解析成指定类型的对象。...

    fastjson所用jar包

    2. **基本用法**:以下是一个简单的示例,展示了如何使用Fastjson将JSON字符串转换为Java对象: ```java import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; public class Fastjson...

Global site tag (gtag.js) - Google Analytics