使用GWT </string,>将JSON转换为Hashmap <string,pojo =“”>

时间:2013-12-04 11:38:29

标签: java android json gwt mgwt

SortedMap<String, VehicleData> hmap = new TreeMap<String, VehicleData>();

我的JSON字符串示例:

 {
    "3": {
        "Field1": 12,
        "Field2": "value",
        "Field3": null
    },
    "test": {
        "Field1": 20,
        "Field2": "value",
        "Field3": "vit"
    }
}

我想将此字符串转换为上面声明的HashMap。有没有任何方法可以直接从Json字符串转换为Hashmap?

1 个答案:

答案 0 :(得分:0)

使用Gson,你可以在服务器端解析它。

Gson gson = new Gson();
Type type= new TypeToken<Map<String, VehicleData>>(){}.getType();
Map<String,VehicleData> map = gson.fromJson(Your_JSON_STRING, type);

如果您希望客户端/服务器端在GWT代码中序列化/反序列化JSON。

在GWT 2.1.1中,您可以使用GWT AutoBean framework

String serializeToJson(Test test) 
{
    // Retrieve the AutoBean controller
    AutoBean<Test> bean = AutoBeanUtils.getAutoBean(test);
    return AutoBeanCodex.encode(bean).getPayload();
}

Test deserializeFromJson(String json) 
{     
    AutoBean<Test> bean = AutoBeanCodex.decode(myFactory, Test.class, json);     
    return bean.as();   
} 

我没有尝试使用Map的复杂和低级别,你可以使用doc

Finally if you want to gson on client side with GWT then you have to try bGwtGson图书馆