如何从Json获取特定的字符串

时间:2015-02-09 09:41:02

标签: android json

我正在研究信号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回复的方法。所以请帮助我。

2 个答案:

答案 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();
        ..... 


 } });

希望这就是你要找的东西。