1

特定の JSON の JSON を格納するために Java でクラスをモデル化しています

  "id":1,
  "firstName":"sample",
  "lastName":"person",
   "Books":{
    "bookName":"gone with the wind"
    "isbn":  12345
    }

class personwithなどを作成しましたint id , String firstName... bookName を格納する最良の方法は何でしょうかclass BooksString bookNameおよびを使用int isbnして、 person クラスで本を配列として表すにはどうすればよいでしょうか? 本には常に 1 つの値しかないため、それを表すより良い方法はありますか

4

1 に答える 1

1

json シリアライゼーション/デシリアライゼーションについては、jackson ライブラリをお勧めします。これが私のコードです。私のコンピューターでは問題なく動作します。

次のように、json.data という名前のファイルに json を保存します。


{"id":1,
 "firstName":"sample",
 "lastName":"person",
 "books":[{"bookName":"gone with the wind","isbn":12345}]
}

そして、コード、ゲッター/セッターを省略して短くしました

public class Book
{
    private String bookName;
    private int isbn;

}

public class BookWriter
{
    private String id;
    private String firstName;
    private String lastName;
    private Book[] books;
}

public class JSONTest
{
    public static void main(String[] args)
    {
        try
        {
            ObjectMapper mapper = new ObjectMapper();
            BookWriter writer=(BookWriter)mapper.readValue(new File("json.data"), BookWriter.class);
            for(Book book:writer.getBooks())
            {
            System.out.println(book.getBookName()+","+book.getIsbn());
            }
        } catch (Exception e)
        {
            e.printStackTrace();
        }
    }

}
于 2013-03-19T03:05:34.170 に答える