我正在研究信号R.我通过SignalR的以下方法得到了json格式服务器的回复
conn.received(new MessageReceivedHandler() {
@Override
public void onMessageReceived(JsonElement json) {
Log.v("Receieved Event Message", json.toString()); } });
通过这个我能够得到日志回复:
{" H":" MyHub"" M":" broadcastMessageFromServer"" A":[ "单一参数 消息:[下午2:23:07]我是客户"]}
并且在此我想取出单一的param消息[下午2:23:07]我是客户
我已经在Stackoverflow上应用了许多方法,但我确信我没有理解发送给我们json回复的方法。所以请帮助我。
答案 0 :(得分:1)
您要取出的字符串位于对象内的数组中。
你必须像这样提取它:
JSONObject obj = new JSONObject(myString); //this will contain the whole object
JSONArray arr = obj.getJSONArray("A"); //this will get the array containing the message
String result = arr.get(0); //this will get the 1st element of the array which is your message
答案 1 :(得分:0)
好像您正在使用GSON Library。你可以这样做:
conn.received(new MessageReceivedHandler() {
@Override
public void onMessageReceived(JsonElement json) {
Log.v("Receieved Event Message", json.toString());
JsonObject jsonObject = json.getAsJsonObject();
JsonElement aElement = jsonObject.get("A");
JsonArray aArray = aElement.getAsJsonArray();
.....
} });
希望这就是你要找的东西。