我有一个接受字符串参数的类。然后,我使用sharedpreferences来保留该字符串。为此,我使用gson.toJson方法转换了输入字符串,然后将其作为json存储到sharedpreferences中。但是,我的字符串getter方法需要将字符串的json对象转换回gson。当初始输入字符串中没有空格时,转换工作。但是,当初始输入字符串中有一个空格时,我会得到这个错误
com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Use JsonReader.setLen
我想了解为什么可以创建和填充一个只有私有变量和覆盖构造函数的对象。
代码示例:
public class Test {
public static void main(String[] args) {
String json = "{\"id\":\"123546\"}";
Gson gson = new Gson();
Participant p = gson.fromJson(json, Participant.class);
System.out.println(
在Jackson和Gson允许换行符出现在JSON对象的字符串表示形式方面,我观察到了不一致的行为。请考虑以下最小的例子。
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.gson.Gson;
import java.io.IOException;
public class GsonTest {
public static void main(String[] args) throws IOException {
//Json string with a literal n
我希望在服务对象中包含一种从json字符串反序列化对象列表的通用方法。
下面是我的第一次尝试。
public abstract class AbstractService<T>{
public abstract Class<T> getClazz();
public List<T> deserialize(final String json){
Gson gson = gsonFactory.create();
Type listType = new TypeToken<List<T>&g
有没有可能使用GSON解析字符串,并将'1','on','yes‘之类的值转换为布尔值true?
所以,我有一门课:
public class OItem {
public int id;
public String name;
public Boolean is_online;
}
然后我需要使用GSON将其转换为OItem对象
String string_json = "{id:200, name: Ivan Ivan, is_online : yes}";
Gson gson = new Gson();
O
我试图在片段中设置、保存和检索对象的arrayList,并将其保存到sharedPreferences中,并不断地得到上面的错误。这是我的代码片段
fun getData() {
val sharedPreferences = activityCast().getSharedPreferences("DATA", Context.MODE_PRIVATE)
val gson = Gson()
val json = sharedPreferences.getString("data", null)
val type: Type =
我使用Gson库来处理将Json解析为java实体的过程,反之亦然。现在,在处理in需要将Json对象返回给调用者之后。但这样做会导致以下例外情况:
Mar 25, 2014 4:46:30 PM com.sun.jersey.spi.container.ContainerResponse write
SEVERE: A message body writer for Java class com.google.gson.JsonObject, and Java type class com.google.gson.JsonObject, and MIME media type applica
我有以下代码
import com.google.gson.Gson;
/**
*
* @author yccheok
*/
public class JavaApplication18 {
public static class Holder {
public Object value;
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Gson gson = new
见最后的解决方案。
原始问题
我的代码中有以下对象,我正试图用Gson反序列化它。
public class Foo {
public Map<String, JSONArray> bar = new HashMap<>();
public ... other stuff
}
我也尝试过:
public class Foo {
public Map<String, String> bar = new HashMap<>();
public ... other stuff
}
之所以如此,是因为Map将被输入到任何数
我有一个Map<String,Object>,它包含一个反序列化形式的JSON。我想将其反序列化为POJO字段。
通过将Map序列化为JSON字符串,然后将JSON字符串反序列化为POJO,我可以使用Gson来执行此操作,但这是效率低下的(参见下面的示例)。在没有中间步骤的情况下,我怎样才能做到这一点呢?
解决方案最好使用Gson或Jackson,因为它们已经在项目中使用。
示例代码:
import java.util.HashMap;
import java.util.Map;
import com.google.gson.Gson;
public class Test {
我正在尝试将JSON转换为自定义bean。但是,当JSON中的date值为null时,我将面临问题。
有效的JSON字符串,它正在被转换,不存在任何问题,因为from和迄今都有值:
{"title":"1201 Box Title 1","fromdate":"01/02/2017","description":"1201 Box Title 1","todate":"01/26/2017"}
带有错误的JSON字符串: Where from date为空
{"
在我的android应用程序中,我面临着一个非常奇怪的错误,无法深入到它的根中。我进行网络调用并解析JSON响应。但是应用程序崩溃,我收到以下错误。
它是随机发生的,无法再现错误。如果有人曾经面对过这种情况,可以告诉我什么可能会引发这场坠机,那将是非常方便的。
com.google.gson.JsonParseException: Failed parsing JSON source: java.io.StringReader@40e13578 to Json
at com.google.gson.JsonParser.parse(JsonParser.java:57)
at