android接收服务器端rest发送json消息问题

问题描述

服务器rest发送json内容如下:{"to":"140678489983418860","type":"groupchat","msg":"xiaoxi","ext":{"msg":"xiaoxi","msgid":"90BEE52A87FB043B73BA334BFED14247","yonghuid":"55d6576abbfd4b4aaa6113e1e0124b4d","shuohuarenfrom":{"yonghuid":"55d6576abbfd4b4aaa6113e1e0124b4d","yonghunicheng":"包长青的小号","yonghubiaozhu":"0","yonghutouxiang":"templates/wdcs/image/icon/0007.jpg","zhanghaoleixing":"6"},"shuohuarentoperson":null,"topersonnicheng":null,"shuohuarentogrop":"140678489983418860","shuohuashijian":"2016-03-23 09:30:06","xiaoxileibie":0,"shuohuaneirong":"ddd","yishenhe":1,"yishanchu":0,"yihuifu":0,"yizhiding":0}}android 端接收消息代码如下: EMMessageListener messageListener = new EMMessageListener() { @Override public void onMessageReceived(List<EMMessage> list) { String jsonResponse = JSON.toJSONString(list); Log.d("---------新消息", jsonResponse); for (EMMessage message : list) { // 群组消息 if (message.getChatType() == EMMessage.ChatType.GroupChat) { //收到消息 try { Log.d("---------", "说话内容" + message.getStringAttribute("shuohuaneirong")); Log.d("---------", "用户ID" + message.getStringAttribute("yonghuid")); Log.d("---------", "说话人来自" + message.getJSONObjectAttribute("shuohuarenfrom")); // 获取不到// Log.d("---------", "说话人来自" + message.getStringAttribute("shuohuarenfrom")); // 获取不到// message.get... // 获取不到 } catch (HyphenateException e) { e.printStackTrace(); } } } }问题:android端可以接受到说话内容及用户ID,但"说话人来自(json中的shuohuarenfrom)"数据无论使用message.get什么方法都是获取不到的,如何解决?

解决方案

可以使用message.getJSONArrayAttribute(java.lang.String attribute)获取 JSONArray 类型扩展属性message.JSONObject getJSONObjectAttribute(java.lang.String attribute)获取 JSONObject 类型扩展属性

时间: 2024-10-26 05:56:26

android接收服务器端rest发送json消息问题的相关文章

ios为什么无法接收Android发送的消息

问题描述 Android可以接收ios发送的消息 解决方案 这个你要测试确认,是发送的问题,还是接收的问题.可以安卓端给iOS demo(换成你自己的appKey),发一条消息.看demo能不能收到.如果demo可以收到,那有可能是你iOS接收的问题.如果demo收不到,那就可能是安卓端发送的问题.

服务器接收方法-Android向服务器发送json数据,服务器怎么把post过去的数据取出来?

问题描述 Android向服务器发送json数据,服务器怎么把post过去的数据取出来? Android端:Resquest url:http://192.168.23.7:8080/TennisWeb/find!login.action 数据:post json:{""username"":""shan""password"":""1234""}到服务器(ssh),

详解Android短信的发送和广播接收实现短信的监听_Android

本文介绍了Android短信的发送和广播接收者实现短信的监听,要注意Android清单中权限的设置以及广播的注册监听实现,废话不多说,代码如下: 以下就是 Android清单的XML AndroidManifest.xml <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.zyw.broadcastsendsms" android:versionC

android集成webim时,如何接收图片(音频)消息中的路径?

问题描述 将webim集成在android手机上时,发送文本消息没有问题,当接收图片(音频)消息的时候,无法获取该文件的路径 发送amr音频文件时,response.type值为  audio/mpeg   Object.prototype.toString.call(response).indexOf('Blob')值为  8 解决方案 webim发送文件,要先调用rest接口上传,下载解决方案二:我上面写错了......在接收amr文件时,android无法成功获取消息中amr文件的路径,错

Android接收和发送短信的实现代码_Android

Android收到短信时会广播android.provider.Telephony.SMS_RECEIVED消息,因此只要定义一个Receiver,收听该消息,就能接收短信. <receiver android:name=".smsReceiver" > <intent-filter> <action android:name="android.provider.Telephony.SMS_RECEIVED" /> </in

关于环信3.0 android 接收消息的问题

问题描述 接收消息的回调里面 onMessageReceived( List<EMMessage> message )方法,为什么我打印出的message是一个错误格式的数据? 解决方案 恩 ,你这个消息是怎么传输过去的,你可以看看.是用rest api 发送的消息?还是用其他的app发送的 消息呢.这个具体的消息类型的格式 你可以自己控制一下了.解决方案二:就是同一个app , 最基本的聊天  这是我打印的数据arg0 :[msg{from:admin, to:174177160213299

android大文件切割发送,接收后在合并显示

问题描述 android大文件切割发送,接收后在合并显示 android 大文件怎么实现分块传输,最后在合并显示.可以通过切割实现吗 解决方案 是文件断点续传吗...

《Android应用开发攻略》——3.13 发送文本消息以及AVD之间的通话

3.13 发送文本消息以及AVD之间的通话 Johan Pelgrim3.13.1 问题 你开发了一个应用程序,需要拨打或者接听电话,或者收发文本消息,你希望对该程序进行测试.3.13.2 解决方案 启动两个Android虚拟设备(AVD),使用端口号发送文本消息及拨打电话.3.13.3 讨论 当你创建一个接听来电或者文本消息的应用程序(类似于攻略12.2中开发的应用)时,你当然可以使用Eclipse中的DDMS视图模拟通话或者发送文本消息,不过也可以启动另一个AVD! 如果你注意AVD窗口标题

Android接收和发送短信处理_Android

关于短信接收处理方面,当前已经有一些app做的比较好了,比如发给手机发验证码验证的问题,很多app在手机接收到验证码后,不需要输入,就直接可以跳过验证界面,这就是用到了对接收到的短信的处理.至于短信的发送,也没什么好说的了.在此也只是附上一个小实例. 效果图: MainActivity: import android.app.Activity; import android.app.PendingIntent; import android.content.BroadcastReceiver;