Я занимаюсь разработкой приложения, которое требует десериализации данных json, полученных из оставшегося API python после API.Я могу передать значение, но оно не примет это как есть.Но когда я даю те же данные вручную и пытаюсь их запустить, они присваивают данные!
Это мой входной класс Json:
public class inputJSON {
private String Organization;
private String Name;
private String Role;
public String getName() {
return Name;
}
public String getRole() {
return Role;
}
public String getOrganization() {
return Organization;
}
}
Это мой десериализационный класс:
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
public class Deserializer {
public static void deserializer(String json) {
GsonBuilder builder = new GsonBuilder();
builder.setPrettyPrinting();
Gson gson = builder.create();
inputJSON inputObject = gson.fromJson(json, inputJSON.class);
System.out.println(inputObject);
}
}
Если я передам "{'Имя': 'Ананд Махиндра', 'Организация': 'Тех Махиндра', 'Роль': 'Основатель'}" (Это строка) в качестве аргумента от Python.Сбрасывает ошибку.
Это значение, которое я получил от python: json = "{'Name': 'Anand Mahindra', 'Organization': 'Tech Mahindra', 'Role': 'Founder'}"
Это ошибка, которую я получаю при передаче в качестве аргумента: Исключение: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: ожидается BEGIN_OBJECT, но в строке 1 столбца 2
НО!
public class GsonTester {
public static void main(String[] args) {
String jsonString = "{'Name':'Anand Mahindra','Organization':'Tech Mahindra','Role':'Founder'}";
GsonBuilder builder = new GsonBuilder();
builder.setPrettyPrinting();
Gson gson = builder.create();
Student student = gson.fromJson(jsonString, Student.class);
System.out.println(student);
jsonString = gson.toJson(student);
System.out.println(jsonString);
}
public class Student {
private String Organization;
private String Name;
private String Role;
public String getName() {
return Name;
}
public String getRole() {
return Role;
}
public String getOrganization() {
return Organization;
}
}
если я даю вручную в jsonString, значения отлично присваиваются!
Что я делаю не так?Не могли бы вы объяснить или дать ссылку на учебный материал по проблеме?