我有以下的JSON數組我使用POST方法將其發送到後端:錯誤的JSON數組在Java中,並添加回URL削減
{"images":
[["https:\/\/storage.googleapis.com\/shelf-prove\/test1.jpg",
"https:\/\/storage.googleapis.com\/shelf-prove\/test2.jpg",
"https:\/\/storage.googleapis.com\/shelf-prove\/test3.jpg",
"https:\/\/storage.googleapis.com\/shelf-prove\/test5.jpg"]],
"skus":["
{\"id\":5179846254657536,\"coordinates\":\"137,447,692,438,690,610,140,617\",\"sku\":\"Biscotti\"}",
"{\"id\":5656058538229760,\"coordinates\":\"0,116,303,104,310,264,2,282\",\"sku\":\"Riso\"}",
"{\"id\":5765606242516992,\"coordinates\":\"140,614,675,610,673,751,145,755\",\"sku\":\"Succo\"}"],
"percentage":"33",
"model":5682617542246400,
"shelf":5660980839186432
}
在Java中我試圖把它作爲JSON陣列以下代碼:
imagesToProcess = json.getJSONArray("images");
for(int i = 0; i < imagesToProcess.length(); i++){
String src="";
src = imagesToProcess.getString(i); }
的問題是,在Java我看到數組的值如下:
[["https:\/\/storage.googleapis.com\/shelf-prove\/test1.jpg","https:\/\/storage.googleapis.com\/shelf-prove\/test2.jpg","https:\/\/storage.googleapis.com\/shelf-prove\/test3.jpg","https:\/\/storage.googleapis.com\/shelf-prove\/test5.jpg"]]
和for循環,每個lement的值是這樣的:
[["https:\/\/storage.googleapis.com\/shelf-prove\/test1.jpg","https:\/\/storage.googleapis.com\/shelf-prove\/test2.jpg","https:\/\/storage.googleapis.com\/shelf-prove\/test3.jpg","https:\/\/storage.googleapis.com\/shelf-prove\/test5.jpg"]]
我不知道是什麼問題!
對於添加反斜槓。我在Android中看到了這個標準的JSON API。據說他們使用這種邏輯能夠在GET請求中使用這些值。如果這確實是個問題,或者使用相同的API來解碼,則可以使用其他API。對於數組,因爲你的json.getJSONArray(「images」);'但是在你的JSON中沒有看到任何'images'鍵,這個答案很複雜。您可能需要發佈[mcve]以查找未知數 – AxelH
我已更新JSON – Majico
您有一個數組數組,因此您想要的數組實際上位於imagesToProcess [0]中。但是這應該會輸出一個'[「https:\/\/...'不是'[[」https:\/\/...' – AxelH