簡體   English   中英

在Java中將JSON字符串解析為JSONObject時出錯

[英]Error Parsing JSON String to JSONObject in Java

我有一個存儲此JSON String的應用程序:

String message ="{\\"uid\\":\\"1\\",\\"streetName\\":\\"road\\",\\"city\\":\\"London\\",\\"speedLimit\\":20}"

現在,我想將其解析回JSON對象,為此,我有這行代碼:

    JsonObject object = new JsonParser().parse(message).getAsJsonObject();

我正在使用Gson庫來解析它,並將其用作JSON對象。 但是,我收到此異常:

com.google.gson.stream.MalformedJsonException: Expected name at line 1 column 2 path $.

更新1

我已經試過了

String message = "{"uid":"1","streetName":"road","city":"London","speedLimit":20}";
JSONObject object = new JSONObject(message);

現在我得到這個異常:

Unterminated string at character 28 of {"uid":"1","streetName":"roa

我已經從StackOverflow上的多個線程嘗試了許多變通辦法,但是沒有任何效果,我也不知道為什么?

您可以將其直接轉換為JSONObject,

JSONObject response = new JSONObject();
String str =  "{\"uid\":\"1\",\"streetName\":\"road\",\"city\":\"London\",\"speedLimit\":20}";
response = new JSONObject(str);

現在,字符串響應已轉換為Json響應。

您的代碼很好,應該可以工作

請檢查Java文件中JsonParser的導入(應為com.google.gson.JsonParser)

如果不是JsonParser,請在Gson版本上告知

您的代碼應該可以工作,可能是您需要如上所述檢查依賴項。

我正在使用此依賴項https://mvnrepository.com/artifact/com.google.code.gson/gson/2.8.0

這是一個可以工作的sscce https://github.com/SalehAly/test-gson

碼

我發現了問題。

我正在處理的字符串的來源格式不正確。 解決字符串是這里的答案。 我解析字符串的方式沒錯。

感謝您提供所有答案和幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM