簡體   English   中英

Xstream 給出不同的結果

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM