Разбор JSON кажется довольно частой темой для обсуждения здесь. Я осмотрелся и все еще не нашел то, что искал. Вот мой код для моего HttpClient
public class CreateJsonRequest {
public static String SendJsonRequest(String URL, Map<String,Object> params){
try{
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(URL);
JSONObject holder = new JSONObject();
for (Map.Entry<String, Object> m : params.entrySet()){
try {
holder.put(m.getKey(), m.getValue());
}
catch (JSONException e) {
Log.e("Hmmmm", "JSONException : "+e);
}
}
StringEntity se;
se = new StringEntity(holder.toString());
httpPost.setEntity(se);
httpPost.setHeader("Accept", "text/json");
httpPost.setHeader("Content-type", "text/json");
HttpResponse response = httpClient.execute(httpPost);
HttpEntity entity = response.getEntity();
if(entity != null){
final JSONObject respObject = new JSONObject(EntityUtils.toString(entity));
String result = respObject.toString();
parseJSON(result);
. Я использую HttpClient для отправки запроса JSON на сервер. Затем сервер возвращает ответ в формате JSON. Это прекрасно работает. И вот здесь у меня проблемы.
Я получаю HttpEntity с сервера. Затем я превращаю это в строку, которая выглядит так. {"Марка": "Форд", "Год": 1975, "Модель": "Мустанг"}
Я хочу иметь возможность отправлять эту строку на мой parseJSON (String jString)
, и он возвращает карту значений ключа. Я считаю, что это отличается от других сообщений в том, что я хочу, чтобы метод синтаксического анализа мог создавать карту значений ключей для любой строки JSON, которую я отправляю. Так что, если я отправлю его {"Двигатель": "v8", "Цилиндры": 8, "Трансмиссия": "Руководство", "Шестерни": 4}
, он все равно будет работать. Это выполнимо? И если да, не могли бы вы подтолкнуть меня в правильном направлении?