Java GSON-将字符串转换为JsonArray

Java GSON-将字符串转换为JsonArray,java,json,gson,kotlin,Java,Json,Gson,Kotlin,我正在尝试将字符串转换为JsonArray。到目前为止,我已尝试做以下工作: Gson().toJson(字符串) Gson().toJsonTree(字符串) 两者都抛出一个异常,表示该参数不是JsonArray 这是字符串,正如您所看到的,它是一个JsonArray: "[{\"match\":{\"id\":92757102,\"tournament_id\":3666234,\"state\":\"open\",\"player1_id\":58602461,\"player2_id\"

我正在尝试将字符串转换为JsonArray。到目前为止,我已尝试做以下工作:

Gson().toJson(字符串)

Gson().toJsonTree(字符串)

两者都抛出一个异常,表示该参数不是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\":\"\"}}]"
toJson()
将json对象呈现为(json的)字符串

您需要
fromJson()
方法,该方法将字符串转换为json对象

尝试:


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

new Gson().fromJson(string)
?这不是JSON数组。这是一个JSON字符串。您对JSON数组进行了编码。这不会引发异常。他们一定打错了。@SotiriosDelimanolis也不例外。OP把“抛出异常”和“编译器错误”混淆了。也许吧。您建议的代码仍然有编译错误。@SotiriosDelimanolis right。我太快了。那么现在呢。是的,那会编译,但无法解析他们问题中的字符串。请查看并更新您的答案,以提供更多详细信息。具体来说,如果您解释一下这是如何解决问题的,这将是非常有帮助的
new Gson().fromJson(string, JsonArray.class)