我有这个字符串:
String s = "VClass2 [id=null, provider=null, venueId=VenueID [t10=555, t1=333, id=12033], categories=[FOOD_AND_DRINK], name=מסעדת גוז׳ ודניאל , englishName=null, description=null]";
这个对象:
public class VClass2 implements Cloneable, Serializable, Externalizable {
public String id;
public String provider;
@Transient
public VenueID venueId;
@Column(name="category")
@Serialize(StringToArray.class)
public String[] categories;
public String name;
public String englishName;
public String description;
@Transient
public UserInfo lastUpdatedByInfo;
我发现它们在结构上并不完全匹配。
如何最轻松地解析字符串并填充此类的实例?
我可以操作输入字符串,但是它应该是什么样子才能使 Gson 解析顺利进行?
public class MyTest {
Gson gson = new Gson();
String s = "VClass2 [id=null, provider=null, venueId=VenueID [t10=555, t1=333, id=12033], categories=[FOOD_AND_DRINK], name=מסעדת גוז׳ ודניאל , englishName=null, description=null]";
@Before
public void setUp() throws Exception {
}
@Test
public void foo()
{
Venue2 venue = gson.fromJson(s, VClass2.class);
}
}
最佳答案
Gson 期望输入 JSON format 。这意味着:
- 所有名称都必须加引号
- 所有字符串值都必须加引号
- 您必须使用
:
而不是=
- 对象必须封装在
{}
中
- 您必须省略类型名称
示例:
{"id":null, "provider":null, "venueId":{"t10":555, "t1":333, ...
关于java - 如何最轻松地基于字符串填充对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25990839/