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

把复杂json解析成javabean

 
阅读更多
工具:fastjson1.2.9
用其他工具也行,比如json-lib、gson
用法都差不多
先来一段json
{
    "page": {
        "pagenow": "1",
        "pagesize": "20"
    },
    "file": {
        "name": "jpg"
    },
    "catalogs": [
        {
            "id": "1"
        },
        {
            "id": "2"
        }
    ]
}

这个json里面有对象也有数组

JSON—javabean

思路:

先得到JSONObject

然后用getString(key)拿到要解析的JSON片段

然后用JSON.parseObject(要解析的JSON片段,class)得到javabean

		String json="{\"page\":{\"pagenow\":\"1\",\"pagesize\":\"20\"},\"file\":{\"name\":\"jpg\"},\"catalogs\":[{\"id\":\"1\"},{\"id\":\"2\"}]}";
		JSONObject obj=JSON.parseObject(json);
		Page page=JSON.parseObject(obj.getString("page"),Page.class);

JSON—List<bean>

思路:

先得到JSONObject

然后用getString(key)拿到要解析的JSON片段

然后用JSON.parseArray(要解析的JSON片段,class)得到List<javabean>

		String json="{\"page\":{\"pagenow\":\"1\",\"pagesize\":\"20\"},\"file\":{\"name\":\"jpg\"},\"catalogs\":[{\"id\":\"1\"},{\"id\":\"2\"}]}";
		JSONObject obj=JSON.parseObject(json);
		List catalogList=JSON.parseArray(obj.getString("catalogs"), Catalog.class);//得到List
		Catalog[] catalogArr=catalogList==null?null:catalogList.toArray(new Catalog[0]);//得到Catalog[]

注意

1.javabean必须有空参数的构造器

2.javabean的属性要有setter方法



查看原文:http://139.129.55.235/2016/05/31/%e6%8a%8a%e5%a4%8d%e6%9d%82json%e8%a7%a3%e6%9e%90%e6%88%90javabean/
分享到:
评论

相关推荐

    Eclipse 插件 FsonFormat 一键解决复杂JSON ,快速实现JavaBean

    FsonFormat是一款Eclipse 插件,实现了一键解决复杂JSON ,快速实现JavaBean功能,提供开发人员和测试人员使用 FsonFormat是一款专为Eclipse打造的快速解析json的插件 1、根据Gson库使用的要求,将JSON结构格式解析...

    json一键转javabean工具

    3. **支持复杂数据结构**: 如果JSON数据包含嵌套的对象或数组,工具会生成对应的嵌套JavaBean或List/Array类型。 4. **注释生成**: 可能会为每个属性生成注释,注释内容可能来自JSON字段的名称或描述。 5. **命名...

    json一键生成javabean工具

    6. **处理嵌套结构**:对于JSON中的嵌套对象,工具会生成对应的内部类,处理复杂的数据结构。 7. **批量转换**:如果需要处理多个JSON数据,工具可能提供批量转换功能,一次性生成多个JavaBean。 8. **版本兼容性*...

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

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

    三种json解析方法

    下面将详细介绍这三种流行的JSON解析库。 1. **json-lib**: json-lib是Java的一个开源库,它提供了一套完整的JSON处理API,包括JSON的解析、生成、转换等功能。json-lib支持多种Java对象到JSON的转换,例如...

    JSon解析需要的包

    在Android开发中,JSON解析是一项基础且至关重要的任务,它使得应用程序能够与服务器进行数据交换。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也方便机器解析和生成。...

    jackson操作json和javabean示例

    6. **示例代码**:项目中的示例代码会涵盖各种使用场景,如简单的JavaBean到JSON的转换,复杂类型(如集合和自定义类型)的序列化,以及如何利用流式API处理大文件。通过阅读和运行这些示例,开发者可以快速掌握...

    JAVA解析JSON相关.docx

    标题与描述均提到了“JAVA解析JSON”,这表明文档主要关注的是如何在Java环境中解析JSON数据。JSON(JavaScript Object Notation)是一...尽管如此,掌握`json-lib`的使用仍然是理解JSON解析在Java中的应用的重要一步。

    xml与json、javabean的互相转换

    以Gson库为例,可以将JavaBean对象转换为JSON字符串,再由JSON字符串反序列化为JavaBean。 ```java import com.google.gson.Gson; public class BeanToJsonAndBack { public static class Person { private ...

    javabean和json互转所需的6个包

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。JavaBean则是一种符合JavaBeans规范的类,通常用于封装业务数据。将JavaBean对象转换为JSON字符串,...

    FsonFormat.rar

    FsonFormat是一款Eclipse 插件,实现了一键解决复杂JSON ,快速实现JavaBean功能,提供开发人员和测试人员使用 FsonFormat是一款专为Eclipse打造的快速解析json的插件 1、根据Gson库使用的要求,将JSON结构格式解析...

    java解析json格式字符串所需jar包

    2. **commons-lang-2.5.jar**:Apache Commons Lang是Java语言工具包,包含一些高级字符串处理、日期/时间操作等,对于JSON解析可能不直接相关,但可以支持更复杂的字符串操作。 3. **commons-beanutils-1.8.0.jar*...

    java中json解析转换需要的jar包和依赖包

    例如,使用`json-lib`的`JsonUtil`类可以轻松地将Java对象转换成JSON字符串,或者将JSON字符串解析成Java对象。同时,其他辅助库如`commons-lang`和`commons-beanutils`可以帮助优化这个过程,提高代码的可读性和可...

    json解析jar包

    通过以上知识点,你可以有效地在Java项目中使用`json-lib`进行JSON解析和操作。然而,随着技术的发展,许多现代的Java JSON库已经提供了更高效、更简洁的API,开发者可以根据实际需求选择合适的工具。

    java解析json的jar包

    本主题主要讨论的jar包包括`json-lib`、`commons-beanutils`和`commons-collections`,这些都是Java JSON解析的常用库。首先,让我们深入了解这些库的功能和用途。 1. **json-lib**:这是一个多功能的JSON库,支持...

    json解析数据所需要的jar包

    BeanUtils库可以帮助我们将Java对象与JSON字符串之间进行相互转换,而Collections4库则提供了处理复杂数据结构的工具,使我们能够轻松地管理从JSON解析出来的数据。 为了在Java项目中使用这些库,你需要将这两个JAR...

    JSON数据解析和构造

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读...在实际项目中,可能还会涉及到错误处理、JSON Schema验证、嵌套结构的处理等更复杂的场景,但基本的JSON操作是构建这些复杂功能的基础。

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

    8. 复杂JSON对象的转换: 如示例中的`COMPLEX_JSON_STR`,它包含嵌套的对象和数组。FastJson可以处理这种复杂的结构,通过递归解析和转换,将JSON对象的嵌套部分转换为对应的Java对象。 总之,FastJson库提供了...

    javabean转换为json格式用到的所有包

    JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。本资源提供了实现这一转换所需的依赖包,下面将详细介绍这些包的功能及其在转换过程中的作用。 1. **commons-collections-3.2.1.jar...

    javabean和json互转所需包

    4. 如果需要从JSON字符串反序列化回JavaBean,可以使用`JsonParserFactory`创建`JsonParser`,然后调用其方法将JSON字符串解析成JSON对象,再进一步转换为JavaBean。 例如,一个简单的JavaBean转换为JSON的示例代码...

Global site tag (gtag.js) - Google Analytics