2016-11-08 98 views
1

我來自PHP背景的Java,並且很驚訝地發現JSON對象轉換受到如此的限制。在所有傑克遜教程中,我看到要讀取的對象需要預定義。因此,如果我的數據採用JSON API格式,那麼我需要編寫樣板代碼去除除「數據」部分之外的所有內容,然後以某種方式將所有字符串逐個轉換爲對象。Java`json_decode`(PHP)等效

我真的很想念PHP的json_decodefunction,它會讀取任何JSON並給你一個PHP對象來玩。它還在對象中構建必要的結構,根據需要添加數組和子對象。當然我明白Java是一種編譯語言,但我想知道如何使它更容易。

+1

如果我理解正確,您可以查看[google-gson](https://github.com/google/gson)。 –

+1

@ S.I。是的,這正是我正在尋找的!即時創建對象,無需定義類,非常方便! – dotslash

回答

2

作爲一種強類型語言,Java通常具有較少的「只給我」類型的功能,但這並不意味着它們不存在。即使Jackson可以在沒有預定義架構的情況下反序列化JSON,因此您可以使用MapsLists而不是域對象。

請記住,如果您正在研究「真正」的項目,定義模式有很多好處。他們不是爲了惹惱你而發明的,而是爲了確保你可以相信你的數據是以正確的形式存在的(或者如果不是這樣的話,可以儘早發現)。

+1

是的,那裏有一些偉大的智慧話語。我現在對一個快速而骯髒的程序更感興趣,但是我看到即使在這個級別上有一個架構是一件好事。 – dotslash

+0

事實上,有時候你只是想完成一些事情,然後在完成細節的時候正確地打磨它。 – Kayaman

+0

是的,但我想爲類定義輸入10-20多行應該不會受到傷害。 :-) – dotslash