[英]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.