Saya sedang mengerjakan aplikasi Android. Di aplikasi saya, saya harus mengonversi string menjadi Json Object, lalu mengurai nilainya. Saya memeriksa solusi di stackoverflow dan menemukan masalah serupa di sini tautan
Solusinya seperti ini
`{"phonetype":"N95","cat":"WP"}`
JSONObject jsonObj = new JSONObject("{\"phonetype\":\"N95\",\"cat\":\"WP\"}");
Saya menggunakan cara yang sama dalam kode saya. String saya adalah
{"ApiInfo":{"description":"userDetails","status":"success"},"userDetails":{"Name":"somename","userName":"value"},"pendingPushDetails":[]}
string mystring= mystring.replace("\"", "\\\"");
Dan setelah ganti saya mendapat hasil seperti ini
{\"ApiInfo\":{\"description\":\"userDetails\",\"status\":\"success\"},\"userDetails\":{\"Name\":\"Sarath Babu\",\"userName\":\"sarath.babu.sarath babu\",\"Token\":\"ZIhvXsZlKCNL6Xj9OPIOOz3FlGta9g\",\"userId\":\"118\"},\"pendingPushDetails\":[]}
ketika saya mengeksekusi JSONObject jsonObj = new JSONObject(mybizData);
Saya mendapatkan pengecualian json di bawah ini
org.json.JSONException: Expected literal value at character 1 of
Tolong bantu saya untuk memecahkan masalah saya.
Jawaban:
Hapus garis miring:
sumber
JSONArray obj = new JSONArray(json);
. Kemudian Anda dapat menggunakan for-loop untuk melakukan iterasi melalui array.{"Fat cat":"meow"}
.kerjanya
sumber
coba ini:
sumber
Untuk mendapatkan JSONObject atau JSONArray dari String, saya telah membuat kelas ini:
Di sini untuk mendapatkan JSON:
Contoh:
sumber
[
atau{
untuk mengetahui apakah itu larik atau objek. Maka Anda tidak akan mempertaruhkan kedua pengecualian tersebut, hanya pengecualian yang terkait.coba saja ini, akhirnya ini berhasil untuk saya:
sumber
Anda hanya membutuhkan baris kode seperti di bawah ini:
sumber
Ini kodenya, dan Anda bisa memutuskan yang mana
StringBuffer (tersinkronisasi) mana atau StringBuilder yang lebih cepat untuk digunakan.
Tolok ukur menunjukkan StringBuilder lebih cepat.
sumber
Mungkin di bawah lebih baik.
sumber