2012-12-31 88 views
0

我有以下JSON結構:圖片廊與JSON

{ 
"data": { 
"ImageSetting": [ 
    { 
    "image_name": "Image 1", 
    "image_small": "https:\/\/d2vx3xrdmu9.cloudfront.net\/d98b276a10f874a67e87edcbe0bfbd2414b62c625f7af6f4c5cc7819259709d3ab39.jpeg", 
    "image_big": "https:\/\/d2vx3xrdmu9.cloudfront.net\/8d580953e8a48c90a8ea3219fd526aa5cb5ac4302161a7c0ba24af6f2be65a233346.jpeg" 
    }, 
    { 
    "image_name": "Image 2", 
    "image_small": "https:\/\/d2vx3xrdmu9.cloudfront.net\/7ddc15916bd7a8733847c2e9e68202ba0764a969125ebaf862b7ea34d7bac7171e21.jpeg", 
    "image_big": "https:\/\/d2vx3xrd14cmu9.cloudfront.net\/1799ed1b6eebf9eb8d1b92de04e8468bc3a7f6ab427863b1e859ds67f3fb4a786dd2.jpeg" 
    }, 
    { 
    "image_name": "Image3", 
    "image_small": "https:\/\/d2vx3xrdmu9.cloudfront.net\/b93073d02ed5b0d58c99ddea739c72f6df303a47d4fb7e16829fe61f7c62547b6e3.jpeg", 
    "image_big": "https:\/\/d2vx3xrdmu9.cloudfront.net\/d1e030713f6a0214223f770fe0e6bd9200a2d2ca8da94acde2419064164a1e83f49.jpeg" 
    } 
] 
} 

所以這種結構基本上我可以告訴我的應用程序的一些圖片。現在我想獲得不同的畫廊和旁邊的畫廊和圖像。這可能是一個可能的結構:

這裏是圖像快照

FileStructure

我不知道如何得到這個JSON做(?陣內陣)和我不不知道如何在Android中進行解析。任何幫助將不勝感激。

+0

發表第二個json字符串,你想解析 –

+0

我還沒有第二個,因爲我不知道如何使用不同的數組結構:S – user754730

+0

去通過此鏈接: - [Json解析參考](http://www.androidhive.info/2012/01/android-json-parsing-tutorial/)在這裏你有完美的例子在Android的JSON解析。 – abhishek

回答

0

Oke讓我首先從JSON開始。 它在結尾處缺少結束符}(也許你只是忘記了複製它),並且沒有'數組'數組,你有一個包含對象數組''ImageSetting'的對象'data'。

最簡單的解析方法就是使用GSON,通過添加一些註釋就可以將其直接轉換爲對象。

基本上你只需要兩個簡單的類:

public class data{ 

@SerializedName("ImageSetting") 
public Collection<ImageSetting> imageSettings; 

} 

public class ImageSetting{ 

@SerializedName("image_name") 
public String image_name; 

@SerializedName("image_small") 
public String image_small; 

@SerializedName("image_big") 
public String image_big; 

} 

下一頁所有你需要做的就是讓GSON做映射爲您提供:

Data data = gson.fromJson(jsonString, Data.class); 

您可以從以下位置獲取GSON lib/jar:http://code.google.com/p/google-gson/

0

我想你應該使用陣列內的數組。同樣在你的例子中:

{ 
"data": { 
"ImageSetting": [ 
    { 
    "image_name": "Image 1", 
    "image_small": "https:\/\/d2vx3xrdmu9.cloudfront.net\/d98b276a10f874a67e87edcbe0bfbd2414b62c625f7af6f4c5cc7819259709d3ab39.jpeg", 
    "image_big": "https:\/\/d2vx3xrdmu9.cloudfront.net\/8d580953e8a48c90a8ea3219fd526aa5cb5ac4302161a7c0ba24af6f2be65a233346.jpeg" 
    }, 
    [{ 
    "image_name": "Image 2", 
    "image_small": "https:\/\/d2vx3xrdmu9.cloudfront.net\/7ddc15916bd7a8733847c2e9e68202ba0764a969125ebaf862b7ea34d7bac7171e21.jpeg", 
    "image_big": "https:\/\/d2vx3xrd14cmu9.cloudfront.net\/1799ed1b6eebf9eb8d1b92de04e8468bc3a7f6ab427863b1e859ds67f3fb4a786dd2.jpeg" 
    },{ 
    "image_name": "Image3", 
    "image_small": "https:\/\/d2vx3xrdmu9.cloudfront.net\/b93073d02ed5b0d58c99ddea739c72f6df303a47d4fb7e16829fe61f7c62547b6e3.jpeg", 
    "image_big": "https:\/\/d2vx3xrdmu9.cloudfront.net\/d1e030713f6a0214223f770fe0e6bd9200a2d2ca8da94acde2419064164a1e83f49.jpeg" 
    }] 

] 
} 

......等等的每個子文件夾,直到你到達基本元素(圖像)。在這種情況下,一旦你解析了整個JSON,你就會在數組中獲得數組。 &如果它是一個數組,你可以把它看作像文件夾&子文件夾。如果它是一個圖像。您可以直接使用圖像在表格中顯示。

我希望你能理解它。讓我知道是否有任何查詢...

+0

但是Array裏面的這個Array怎麼能有一個像「Folder 1」這樣的名字和更多的Image對象? – user754730

+0

在這種情況下..你需要檢查對象是否是一個數組,然後把文件夾名稱的「名稱」鍵和內容的「數據」鍵......它只是一個邏輯部分取決於數據你想放入它。 – iCreative

+0

也許我不清楚我需要做什麼。我想要在「ImageSetting」數組和「Image 1」,「Image 2」和「Image 3」旁邊的某個對象中獲取Array「Folder 1」... – user754730