2017-07-17 642 views
-2

我想將字符串轉換爲JsonArray。到目前爲止,我已經嘗試做如下:GSON - 將字符串轉換爲JsonArray

Gson().toJson(string)

Gson().toJsonTree(string)

都拋出一個異常,稱該說法是不是JsonArray。

這裏是字符串,你可以看到它是一個JsonArray:

"[{\"match\":{\"id\":92757102,\"tournament_id\":3666234,\"state\":\"open\",\"player1_id\":58602461,\"player2_id\":58602459,\"player1_prereq_match_id\":null,\"player2_prereq_match_id\":null,\"player1_is_prereq_match_loser\":false,\"player2_is_prereq_match_loser\":false,\"winner_id\":null,\"loser_id\":null,\"started_at\":\"2017-07-17T19:10:07.588-04:00\",\"created_at\":\"2017-07-17T19:10:07.476-04:00\",\"updated_at\":\"2017-07-17T19:10:07.588-04:00\",\"identifier\":\"A\",\"has_attachment\":false,\"round\":1,\"player1_votes\":null,\"player2_votes\":null,\"group_id\":null,\"attachment_count\":null,\"scheduled_time\":null,\"location\":null,\"underway_at\":null,\"optional\":false,\"rushb_id\":null,\"completed_at\":null,\"suggested_play_order\":1,\"prerequisite_match_ids_csv\":\"\",\"scores_csv\":\"\"}}]" 
+1

'新GSON()fromJson(串)'? – Bohemian

+0

這不是一個JSON數組。這是一個JSON字符串。您重新編碼了JSON數組。 –

回答

-1

Gson().fromJson(string, JsonArray::class.java)

+0

請看[如何回答](https://stackoverflow.com/help/how-to-answer)並更新您的答案以提供更多詳細信息。具體來說,如果你解釋瞭如何解決這個問題,這將是有幫助的 – Ortund

-1

toJson()呈現一個JSON對象(的JSON)的字符串。

你想要fromJson()方法,它將字符串轉換爲json對象。

嘗試:

new Gson().fromJson(string, JsonArray.class) 
+0

這不會引發異常。他們必須錯誤輸入。 –

+0

@SotiriosDelimanolis沒有例外。 OP將「拋出異常」與「編譯器錯誤」混爲一談。 – Bohemian

+0

也許吧。儘管你的代碼仍然有編譯錯誤。 –