[英]Xstream giving different results
我們將 XStream 用於我們的寧靜服務。 但是,對於具有相同值的字段,Xstream 為我們提供了不同的結果。 假設它 Book 對象:
public class Book {
public String name "myName";
public List <String> authors = new List <String> ();
public String subject "mySubject";
public Book() {}
}
這個 json 是:
{
"Book": {
"name": "myName",
"authors": "",
"subject": ["mySubject"]
}
}
但是,如果我將作者添加到集合中,則會得到不同的結果。
{
"Book": {
"name": "myName",
"authors": ["author1", "author2", "author3"],
"subject": "mySubject"
}
}
有沒有人遇到過這個問題並知道解決方案?
首先,上面的 Book 實例包含錯誤。 這是我認為它應該是這樣的:
public class Book{
public String name = "myName";
public List authors = new ArrayList();
public String subject = "mySubject";
public Book(){
}
}
現在:
{"Book":{"name":"myName", "authors":"", "subject":["mySubject"]}}
您確定這是 xstream 為上面列出的Book
對象返回的內容嗎? 這似乎不對,因為subject
屬性是String
而不是String[]
或其他類型的集合。 您給出的第一個示例(沒有作者的書)的 JSON 編碼應該是:
{"Book":{"name":"myName", "authors":"", "subject":"mySubject"}}
除非你的Book
看起來像這樣:
public class Book{
public String name = "myName";
public List authors = new List();
public String[] subject = {"mySubject"};
public Book(){
}
}
底線:確保您沒有將您的主題聲明為一個集合。
作為獎勵提示,請嘗試針對您的問題發布工作代碼。 這樣更容易獲得有意義的答案。 所以我的猜測是你的Book
類將主題聲明為某種集合
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.