2013-12-03 4 views
0

У меня возникла проблема при создании jsonStringer в android. Моя проблема в том, что я должен отправлять значения на сервер, используя метод post.So для этого мне нужно отправить массив. { "name":"asdf","age":"42","HaveFiles":["abcfile","bedFile","cefFile"]}.json String in android

Как я могу создать массив json для hasFiles? И я не знаю, какие файлы могут отличаться. Поэтому я создаю строковый построитель и добавляю к нему значения. когда я печатаю jsonString stringbuilder, покажу, что вместо " он показывает \". Но когда я печатаю строковый конструктор, он выглядит ["abcFile"] вот так. но в jsonStringer он печатает ["\""abcFile\""]. Как я могу решить эту проблему?

+0

Вы проверили документацию по JSONArray? http://developer.android.com/reference/org/json/JSONArray.html –

ответ

0

Это действительно просто, вы можете использовать GSON library для этого.

Использование что-то вроде:

Gson gson = new Gson(); 
String jsonStr = gson.toJson(yourObj); 
YourObjType yourObj2 = gson.fromJson(jsonStr, YourObjType.class); 

Что касается вашей ситуации, вы можете сделать:

Gson gson = new Gson(); 
String[] ss = new String[] {"abcFile", "defFile", "ghiFile"}; 
String jsonStr = gson.toJson(ss); 

И результат jsonStr является:

["abcFile, defFile, ghiFile"] 
+0

Что ...? GSON не для этой цели. –

+0

нужно использовать только json. В противном случае вы можете прислать мне пример – user484848

+0

. Если вы отправляете больше информации на сервер, вы используете библиотеку: jackson или gson – Unii

1

Используется для создать объект json и передать объект json

try { 
     JSONObject jObj = new JSONObject(YourString); 
    } catch (JSONException e) { 
     Log.e("JSON Parser", "Error parsing data " + e.toString()); 
    } 

Если вы хотите jsonArray то

jobj.getJSONArray(TAG_NAME);