2015-11-10 3 views
1

Это мой фрагмент кода. Я пытаюсь отправить сообщение JSON из PUBNUB в мою систему и проанализировать его. Мой ключ: "CMD". Это то, что я посылаю от pubnub {"CMD":"hey"}Ошибка анализа JSON. Ключ не найден, хотя он существует

public void successCallback(String channel, Object message) { 


    Object PlainTextMessage = new AESDecrypt().Decrypt(message); 
    JSONObject jsonMsg = new JSONObject(PlainTextMessage); 
    try { 
     String command = jsonMsg.getString("CMD"); 
     System.out.println(command); 
    } catch (JSONException e) { 
     // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 

Это ошибка я получаю

org.json.JSONException: JSONObject [ "CMD"] не найден. в org.json.JSONObject.get (JSONObject.java:405) в org.json.JSONObject.getString (JSONObject.java:586) в PubNub.Subscribe $ 1.successCallback (Subscribe.java:45) в ком .pubnub.api.Callback.successWrapperCallback (Unknown Source) на com.pubnub.api.PubnubCore.invokeSubscribeCallback (Unknown Source) в com.pubnub.api.PubnubCore.access $ 1100 (Unknown Source) в com.pubnub.api .PubnubCore $ 14.handleResponse (Неизвестный источник) на com.pubnub.api.SubscribeWorker.process (Неизвестный источник) на com.pubnub.api.Worker.run (Неизвестный источник) на java.lang.Thread.run (Thread .java: 745)

У меня нет понятия, что я делаю неправильно. Я попытался избежать двойных кавычек, но не работает. Может ли кто-нибудь дать мне представление о том, что я делаю неправильно?
Заранее спасибо

+0

Вы уверены, что декодируете его правильно? –

+0

Расшифровка на данный момент - это просто фиктивная функция, которая просто возвращает входное значение. –

+3

Ваш код должен быть правильным, основываясь на информации, которую вы предоставили, но я думаю, что что-то еще должно быть неправильно, попробуйте запустить jQueryMzg.toString() ' – meda

ответ

2

Пожалуйста, обратитесь к документации по .org.json

http://www.json.org/javadoc/org/json/JSONObject.html#JSONObject(java.lang.String)

Конструктор JSONObject, принимает строку не объекта, поэтому приведение необходимо

JSONObject

public JSONObject(java.lang.String source) 
      throws JSONException 

Построить объект JSONO из исходной текстовой строки JSON. Это наиболее часто используемый конструктор JSONObject.

Параметры:

источник - строка, начиная с {(левая скобка) и заканчивая} (правая скобка). Throws:

JSONException - Если в исходной строке есть синтаксическая ошибка или дублированный ключ .

Смежные вопросы