在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
有没有可能使用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
我有一个接受字符串参数的类。然后,我使用sharedpreferences来保留该字符串。为此,我使用gson.toJson方法转换了输入字符串,然后将其作为json存储到sharedpreferences中。但是,我的字符串getter方法需要将字符串的json对象转换回gson。当初始输入字符串中没有空格时,转换工作。但是,当初始输入字符串中有一个空格时,我会得到这个错误
com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Use JsonReader.setLen
11-06 17:08:28.331: E/AndroidRuntime(32276): FATAL EXCEPTION: main
11-06 17:08:28.331: E/AndroidRuntime(32276): com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 7
11-06 17:08:28.331: E/AndroidRuntime(32276): at com.google.
我正在尝试将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为空
{"
我有一个Web服务REST:
@Path("/Vehicles")
public class Vehicles{
@GET
@Path("/Cars")
@Produces(aplicattion/json)
public String Cars() {
Car[] cars = Consulting my database...
Gson gson = new Gson();
return gson.toJson
我正在尝试使用gson解析json数据。当我尝试使用GSON解析它时,我总是得到一个格式错误的JSON异常 com.google.gson.JsonSyntaxException:
com.google.gson.stream.MalformedJsonException: Expected ':' at line 1 column 8 path $.Meta
at com.google.gson.Gson.fromJson(Gson.java:947)
at com.google.gson.Gson.fromJson(Gson.java:8
我有以下JSON [{\"X\":24.0124010872935,\"Y\":49.7740722529036,\"Code\":\"0320\",\"Name\": .....]
我试着把它解析为
Gson gson = new Gson();
gson.fromJson(response.body(), RouteModel[].class)
得到了例外
Caused by: com.google.gson.stream.MalformedJsonException: Expected name at lin
我希望在服务对象中包含一种从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
我有jsondata,其中一个字段是日期,它的值类似于
"2016-08-29 11:08:37.645007“我使用gson从json获取反序列化对象,但是它抛出了以下注释。
`
Caused by: java.text.ParseException: Failed to parse date ["2016-08-29 11:08:37.645007"]: Invalid time zone indicator ' '
at com.google.gson.internal.bind.util.ISO8601Utils.parse(ISO860
我正在尝试迭代使用Gson创建的这个字符串。
"`{\"public_id\":\"xxxxxx\",\"timestamp\":xxxxx,\"signature\":\"xxxxx\",\"api_key\":\"xxxxxx\"}"`
我曾尝试将此字符串转换为JSONArray并使用迭代器对其进行迭代,但得到了of type java.lang.String cannot be converted to JSONArray
这就是我构造字符串的方式
Gson g
我想使用导航组件和深度链接打开一个片段。
val serializedUser = Gson().toJson(user)
findNavController().navigate(Uri.parse("myapp://?user=${serializedUser}"))
但在目标片段中,有时论证并不完整。
val serializedUser = arguments?.getString("user")
val post = Gson().fromJson(serializedUser, User::class.java)
并得到这个错误:
com.googl
我的问题是,我无法将Gson.fromJson()方法解析为class< T>模型。
在我的PageOutput.java里
public class PageOutput<T> {
@SerializedName("TotalItemCount")
public int totalItemCount;
@SerializedName("Items")
private T[] items;
public final T[] getItems() {
re
我有一个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 {
所以我有一个问题,我似乎找不到原因,所以我在这里寻求帮助。我能找到问题出在哪里,但我找不到为什么会发生,这就是我所拥有的。
这是我试图在共享偏好中保存的示例。
public class Registo implements Serializable {
int id;
String name;
ArrayList<Integer> commitedViolations= new ArrayList<>();
}
我做了所有保存它的过程
public void addRegisto(Context context, Registo registo)