I get this error both on my project and on simple tutorial example. Here is the code from simple tutorial
Main class:
public class Main
{
/**
* @param args
*/
public static void main(String[] args)
{
Person person = new Person();
person.setName("Nate");
person.setAge(31);
ArrayList<PhoneNumber> numbers = new ArrayList<>();
PhoneNumber phone1 = new PhoneNumber();
PhoneNumber phone2 = new PhoneNumber();
phone1.setName("Nate");
phone1.setNumber("0343535");
phone2.setName("Thanos");
phone2.setNumber("2442422");
numbers.add(phone1);
numbers.add(phone2);
person.setNumbers(numbers);
Json json = new Json();
json.setOutputType(OutputType.json);
String text = json.toJson(person);
System.out.println(json.prettyPrint(text));
}
Person Model
public class Person
{
private String name;
private int age;
private ArrayList<PhoneNumber> numbers;
//private PersonMock personMock;
public Person()
{
}
public void setNumbers(ArrayList<PhoneNumber> numbers)
{
this.numbers = numbers;
}
public ArrayList<PhoneNumber> getNumbers() { return numbers; }
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public int getAge()
{
return age;
}
public void setAge(int age)
{
this.age = age;
}
}
PhoneNumber Model
public class PhoneNumber
{
private String name;
private String number;
public PhoneNumber()
{
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public String getNumber()
{
return number;
}
public void setNumber(String number)
{
this.number = number;
}
}
Original Project Im currently working on
public void writeToFile(Context ctx, VenueSearchRoot obj)
{
Json json = new Json();
json.setOutputType(OutputType.json);
//if (!file.mkdirs())
System.out.println(json.prettyPrint(obj));
}
}
Where VenueSearchRoot is the Root model
public class VenueSearchRoot
{
private ArrayList<Venue> venues;
public VenueSearchRoot()
{
}
public ArrayList<Venue> getVenues()
{
return venues;
}
public void setVenues(ArrayList<Venue> venues)
{
this.venues = venues;
}
}
The error:
Exception in thread "main" com.esotericsoftware.jsonbeans.JsonException: Serialization trace:
private java.util.ArrayList Person.numbers (Person)
at com.esotericsoftware.jsonbeans.Json.writeFields(Json.java:267)
at com.esotericsoftware.jsonbeans.Json.writeValue(Json.java:514)
at com.esotericsoftware.jsonbeans.Json.toJson(Json.java:216)
at com.esotericsoftware.jsonbeans.Json.toJson(Json.java:172)
at com.esotericsoftware.jsonbeans.Json.toJson(Json.java:161)
at Main.main(Main.java:39)
Caused by: java.lang.IllegalStateException: Name must be set.
at com.esotericsoftware.jsonbeans.JsonWriter.object(JsonWriter.java:64)
at com.esotericsoftware.jsonbeans.Json.writeObjectStart(Json.java:552)
at com.esotericsoftware.jsonbeans.Json.writeValue(Json.java:513)
at com.esotericsoftware.jsonbeans.Json.writeValue(Json.java:460)
at com.esotericsoftware.jsonbeans.Json.writeFields(Json.java:260)
... 5 more
Everything is initialized before the parsing as it should
Let me know if you need anything else
I get this error both on my project and on simple tutorial example. Here is the code from simple tutorial
Main class:
Person Model
PhoneNumber Model
Original Project Im currently working on
Where VenueSearchRoot is the Root model
The error:
Everything is initialized before the parsing as it should Let me know if you need anything else