Tua*_*-Vu 5 java serialization json gson deserialization
好吧,我必须承认我不擅长Java中的泛型类型
我在C#中编写了一个JSON序列化/反序列化类 JavaScriptSerializer
private static JavaScriptSerializer js = new JavaScriptSerializer();
public static T LoadFromJSONString<T>(string strRequest)
{
return js.Deserialize<T>(strRequest);
}
public static string DumpToJSONString<T>(T rq)
{
return js.Serialize(rq);
}
Run Code Online (Sandbox Code Playgroud)
它在C#中运行良好.现在我正在尝试转换或至少在Java中编写另一个JSON序列化/反序列化类.我尝试过flexjson和google-gson,但我不知道如何在Java中指定<T>.
有人可以帮帮我吗?顺便说一句,我更喜欢google-gson
在Java中,您必须传递实际类型擦除的类,而不仅仅是类型参数,因此数据绑定器知道要使用的类型; 像这样的东西:
public static T LoadFromJSONString<T>(string strRequest, Class<T> type)
{
Gson gson = new Gson();
return gson.fromJson(strRequest, type);
}
Run Code Online (Sandbox Code Playgroud)
但通常只需要反序列化; 在序列化时,您有一个具有库可以使用的类的实例.
顺便说一句,你可能想要考虑使用的另一个优秀的Java JSON库是Jackson ; 但是,对于这个特定的例子,你提到的所有库都应该有效.
| 归档时间: |
|
| 查看次数: |
6331 次 |
| 最近记录: |