我需要将json字符串转换为java对象并将其显示为long.json字符串是一个固定的长数组:
{numbers
[ 268627104, 485677888, 506884800 ] }
Run Code Online (Sandbox Code Playgroud)
转换的代码在所有情况下都可以正常工作,除了以0结尾的数字.它将这些转换为科学记数字格式:
public static Object fromJson(HttpResponse response, Class<?> classOf)
throws IOException {
InputStream instream = response.getResponseInputStream();
Object obj = null;
try {
Reader reader = new InputStreamReader(instream, HTTP.UTF_8);
Gson gson = new Gson();
obj = gson.fromJson(reader, classOf);
Logger.d(TAG, "json --> "+gson.toJson(obj));
} catch (UnsupportedEncodingException e) {
Logger.e(TAG, "unsupported encoding", e);
} catch (Exception e) {
Logger.e(TAG, "json parsing error", e);
}
return obj;
}
Run Code Online (Sandbox Code Playgroud)
实际结果:Java对象:268627104,485677888,5.068848E + 8
请注意,最后一个数字将转换为科学记数法格式.任何人都可以建议可以做些什么来解决它或阻止或撤消它?我正在使用Gson v1.7.1
我需要反序列化json,这是一个日期/长值数组.以下是返回的JSON的示例:
[{"2011-04-30T00:00:00-07:00":100}, {"2011-04-29T00:00:00-07:00":200}]
Run Code Online (Sandbox Code Playgroud)
使用GSON我可以将其反序列化为a List<Map<Date,String>>,但希望能够将其转换为List<MyCustomClass>类似于:
public class MyCustomClass() {
Date date;
Long value;
}
Run Code Online (Sandbox Code Playgroud)
我似乎无法找到一种方法来指示GSON将JSON映射的键/值映射到我的自定义类中的日期/值字段.有没有办法做到这一点,或者是地图列表唯一的路线?