Синтаксический анализ 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 с сервера.Затем я превращаю это в строку, которая выглядит следующим образом.{"Make":"Ford","Year": 1975, "Model":"Mustang"}
Я хочу иметь возможность отправить эту строку в мой метод parseJSON(String jString)
, и она возвращает карту значений ключей.Я чувствую, что это отличается от других сообщений тем, что я хочу, чтобы метод parse мог создавать карту значений ключей для любой строки JSON, которую я отправляю.Так что, если я отправлю это {"Engine":"v8","Cylinders": 8, "Transmission":"Manual","Gears": 4}
, оно все равно будет работать.Это выполнимо?И если да, не могли бы вы дать мне толчок в правильном направлении?