我有一个代表学生实体的字符串:
{\"firstName\":\"Pirlog\",\"lastName\":\"Marcel\",\"year\":3,\"grupa\":\"B4\",\"accountId\":\"c9e4b165-8fdd-4ca2-974e-9b598ddb52bc\",\"id\":\"e577cf18-53bb-4e4e-bce2-b543f1d51f85\"}
学生实体类是:
public class Student implements Serializable {
private String firstName;
private String lastName;
private int year;
private String grupa;
private UUID accountId;
private UUID id;
public Student(){
}
public Student(String firstName, String lastName, int year, String grupa, String accountId, String id){
this.id = UUID.fromString(id);
this.firstName = firstName;
this.lastName = lastName;
this.year = year;
this.grupa = grupa;
this.accountId = UUID.fromString(accountId);
}
}
对于解析字符串,我使用以下代码:
Gson g = new Gson();
String p = g.toJson(response1);
Student s = g.fromJson(p.substring(1, p.length() - 1), Student.class);
System.out.println(s.toString());
响应1是一个httpresponse的主体,它代表我来自描述的字符串。
例外情况:
Caused by: com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Expected name at line 1 column 2 path $.
at com.google.gson@2.8.6/com.google.gson.Gson.fromJson(Gson.java:947)
at com.google.gson@2.8.6/com.google.gson.Gson.fromJson(Gson.java:897)
at com.google.gson@2.8.6/com.google.gson.Gson.fromJson(Gson.java:846)
at com.google.gson@2.8.6/com.google.gson.Gson.fromJson(Gson.java:817)
at Marcel/Marcel.controllers.uicontrollers.LoginScreenController.LoginFunction(LoginScreenController.java:42)
换掉这个
Gson g = new Gson();
String p = g.toJson(response1);
Student s = g.fromJson(p.substring(1, p.length() - 1), Student.class);
System.out.println(s.toString());
具有
Gson g = new Gson();
Reader reader = new StringReader(response1);
Student s = g.fromJson(reader, Student.class);
System.out.println(s.toString());
gson的gson
错误表明您给它的是格式错误的JSON字符串,因此需要检查的是您的JSON。
在这一行中,您将从JSON中删除大括号:
Student s = g.fromJson(p.substring(1, p.length() - 1), Student.class);
不要这样做;这些支架是必需的。另一个问题可能是,JSON中有一些反斜杠来转义双引号。可能是因为您将JSON转移到问题中的方式,但在将字符串传递到gson
之前,您应该过滤掉它们。
看看这里,同样的问题也在讨论中。
当我尝试解析到时,我得到了异常。我的Android API版本是19。 下面是要分析的字符串:
我正试图通过使用以下方法来取消加密字符串,但遇到了异常。 我试图将我的加密字符串发送到下面的方法,但它不能得到Byte[],在将字符串转换为Byte[]时得到数字格式异常。 请建议。
我正在尝试在java中解析JSON字符串以单独打印单个值。但是在运行程序时,我得到了以下错误- 我的班级看起来像- 让我知道我遗漏了什么,或者每次运行应用程序时都会出现错误的原因。如有任何意见,将不胜感激。
问题内容: 我有一个日期时间字符串,我不知道如何在Python中解析它。 字符串是这样的: 我试过了 但是Python引发 根据Python文档: %z UTC偏移量,格式为+ HHMM或-HHMM(如果对象是天真对象,则为空字符串)。 解析此时间字符串的正确格式是什么? 问题答案: 时区解析有问题。看一下包装:
问题内容: 假设我提供了一个类似于或类似此字符串的字符串(带有数字和小数点以及一些分隔符,例如或或其他不可预测的字符串)。我需要编写一个方法,该方法接受像上面的参数一样的参数,并分别返回像或的String 。 您能否建议最有效,最易读的代码来实现这一目标? 注意:我知道要遍历每个索引,并检查它的重调谐器是否存在,或者 我正在效率和可读性方面寻找更优化的解决方案 谢谢。 问题答案: 这将删除任何不是
问题内容: 在Java中执行以下操作的最佳方法是什么。我有两个输入字符串 我需要从字符串中提取类型和数字。 在这种情况下,答案是type =“ a good”和number =“ 234” 谢谢 问题答案: 您可以使用正则表达式: