`
ljhupahu
  • 浏览: 33782 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

Gson fromJson()

    博客分类:
  • Gson
 
阅读更多

Gson类作为serialize, deserialize json的context, 主要用到的是fromJson(...) 及toJson()两个方法。进行实例化的时候调用new Gson(), 但其默认的constructor 为:

 

public Gson() {
		this(Excluder.DEFAULT, FieldNamingPolicy.IDENTITY, 
Collections.<Type, InstanceCreator<?>> emptyMap(), DEFAULT_SERIALIZE_NULLS, 
DEFAULT_COMPLEX_MAP_KEYS, DEFAULT_JSON_NON_EXECUTABLE, DEFAULT_ESCAPE_HTML,
DEFAULT_PRETTY_PRINT, DEFAULT_LENIENT, DEFAULT_SPECIALIZE_FLOAT_VALUES, LongSerializationPolicy.DEFAULT,Collections.<TypeAdapterFactory> emptyList());
	}

 也可以使用GsonBuilder来创建Gson实例, 它包含了各种configuration, 如版本控制, pretty printing, 自定义JsonSerializer, JsonDeserializer, InstanceCreateor, TypeAdapter, TypeAdapterFactory. 

 

 

在创建Gson实例的同时,TypeAdapterFactory也被加载,用于getAdapter(TypeToken<T> type) 时, 返回相应的TypeAdapter.

List<TypeAdapterFactory> factories = new ArrayList<TypeAdapterFactory>();

 

TypeAdapters 通过工厂模式返回不同的 TypeAdapterFactory

 



 在Gson.getAdapter(TypeToken<T> type)中循环读取factories, return TypeAdapter. 

使用策略模式, 创建不同的TypeAdapter。

 



 

 

 

  • 大小: 46.4 KB
  • 大小: 34.7 KB
分享到:
评论

相关推荐

    Gson解析json数据

    Person person = gson.fromJson(jsonString, Person.class); ``` 这段代码会将JSON字符串转换为`Person`对象,便于进一步操作。 对于复杂JSON,比如包含嵌套的对象或数组,Gson同样能够处理。例如: ```json { ...

    Gson解析Json示例源码

    在Gson类库有一个Gson类,这个Gson类提供了两个方法:toJson() 和fromJson(),我们主要就是调用这两个方法来分别实现序列化Java对象为JSON字符串和反序列化JSON字符串成Java对象。 通过代码示例来对Gson类的常用方法...

    通过Gson解析Json文件

    3. 使用Gson解析JSON:创建Gson实例,然后调用`fromJson()`方法将JSON字符串转换为Java对象。 ```java Gson gson = new Gson(); String jsonString = reader.readLine(); // 读取JSON文件第一行内容 User user = ...

    Gson解析JSON数据的入门级源码

    Person deserializedPerson = gson.fromJson(jsonInput, Person.class); ``` `fromJson()`方法会创建一个`Person`对象,并填充JSON中的属性值。 **自定义序列化和反序列化** Gson允许你自定义对象的序列化和反序列...

    Android Studio下使用Google Gson解析Json数据示例

    2. 使用Gson实例解析JSON:有了JSON字符串和对应的数据模型类,我们可以使用Gson的fromJson()方法将JSON转换为Java对象。 ```java String jsonString = "{\"name\":\"John Doe\",\"age\":30,\"city\":\"New York\"}...

    使用gson解析json

    1. 首先,需要将JSON字符串解析成Java对象,使用Gson的fromJson方法可以实现这一步骤。 2. 其次,需要将Java对象转换成JSON字符串,使用Gson的toJson方法可以实现这一步骤。 使用FastJson解析JSON的步骤: 1. 首先...

    Gson处理Json格式字符串代码

    List&lt;Video&gt; videos = gson.fromJson(jsonArrayString, new TypeToken&lt;List&lt;Video&gt;&gt;(){}.getType()); ``` `GsonDemo`这个文件名可能是包含演示Gson使用的一个Java程序示例。在这个程序中,你可能会看到如何将一个`...

    利用Google Gson实现JSON字符串和对象之间相互转换

    反之,如果你有一个JSON字符串并想解析成Java对象,可以使用`Gson().fromJson()`方法。 ### JSON字符串转Java对象 以下是一个简单的例子,展示如何将JSON字符串转换为Java对象: ```java class User { private ...

    JSON、GSON解析json

    - 将JSON字符串转换为Java对象:`MyObject obj = gson.fromJson(jsonString, MyObject.class);` - 将Java对象转换为JSON字符串:`String jsonString = gson.toJson(obj);` 4. 解析复杂JSON数据:如果JSON数据包含...

    android中gson解析json数据例程

    List&lt;Person&gt; people = gson.fromJson(jsonArrayString, new TypeToken&lt;List&lt;Person&gt;&gt;(){}.getType()); ``` 这里使用了`TypeToken`来指定泛型类型,因为Java的类型擦除无法在运行时获取到泛型信息。 总结来说,...

    gson 2.3.1 json转换利器

    2. **JSON字符串到对象的转换**:Gson同样提供了`Gson.fromJson()`方法,可以从JSON字符串反序列化为Java对象。例如,从上述的JSON字符串还原User对象: ```java User deserializedUser = new Gson().fromJson(json...

    Gson解析复杂Json实例,超简单

    这里使用了`Gson.fromJson()`方法,第一个参数是JSON字符串,第二个参数是我们希望转换的目标类型。`TypeToken`用于表示泛型类型,`new TypeToken&lt;List&lt;User&gt;&gt;(){}.getType()`表示我们期望转换的目标是`List&lt;User&gt;`...

    assets下使用gson进行json文件读取

    return gson.fromJson(jsonString, clazz); } } ``` 这段代码定义了一个名为`JsonUtils`的工具类,其中包含两个静态方法:`readJsonFromAssets`用于读取`assets`目录下的JSON文件,返回JSON字符串;`jsonToObject...

    Gson+Json的jar包

    例如,你可以直接使用Gson的`Gson().toJson()`方法将Java对象转化为JSON字符串,然后使用`fromJson()`方法将JSON字符串转换回Java对象。此外,Gson还支持自定义类型适应器,可以处理更复杂的数据结构。 Json库可能...

    GSON解析Json数据信息

    Person person = gson.fromJson(jsonString, Person.class); System.out.println(person.getName()); // 输出:John } } class Person { private String name; private int age; private String city; // ...

    使用Gson解析json数据

    User deserializedUser = gson.fromJson(jsonString, User.class); ``` `fromJson()`方法会将JSON字符串解析为User类的实例。 5. **服务端代码**:在描述中提到的`MyeclipseService`可能是服务端提供的接口,它可能...

    Eclipse下使用Google Gson解析Json数据示例+Android Studio下使用Google Gson解析Json数据示例

    User user = gson.fromJson(jsonStr, User.class); ``` 对于将Java对象转换为JSON,可以这样做: ```java String jsonStr = gson.toJson(user); ``` 现在转向Android Studio环境,Gson的使用方式基本相同,但需要...

    gson解析json

    gson解析json(1.6),162K,gson主要用到的方法有两个,gson.toJson()是将对象,属性等转化成 json 串,gson.fromJson(,)是将json串转化成对象

    gson和jsonBean解析json案例

    User deserializedUser = new Gson().fromJson(jsonString, User.class); ``` 接下来,我们转向JsonBean。JsonBean是一个轻量级的JSON库,它的设计目标是简单易用,适合快速开发。尽管JsonBean没有Gson那么广泛使用...

Global site tag (gtag.js) - Google Analytics