android 自定义消息 json变成string

这是通过MessageContent.toJson()打印出来的数据
{“detail”:"{“education”:“大专”,“experience”:“1-3年”,“name”:“ghhj”,“postName”:“Java开发工程师”,“salary”:“11K-21K”,“userName”:“15607896756761595380998203138671”,“workAddress”:“不告诉尼地址”,“workCity”:“中国 北京市 北京市”,“workType”:“1”}",“type”:“0”,“extras”:{}}

但是我发送的detail对应的value值是一个json 接受消息后变成了一个string类型

你集成的 SDK 版本号是多少?

是 Android 给 Android 发消息吗?

你发出的和收到的信息对比给一下

android 给ios发消息
sdk 2.8.2

implementation files('libs/jcore-android-1.2.7.jar')
implementation files('libs/jpush-android-3.2.0.jar')
implementation files('libs/jmessage-sdk-android-2.8.2.jar')
implementation files('libs/fastjson-1.2.56.jar')

那这个变化是 iOS 收到的信息和 Android 发出的信息的类型不一致,是这个意思?

比如我和ios是约定这种数据格式
{
detail:{}
type:0
}
我发送的时候detail 确实是一个json 但是ios接受后detail就变成了一个string

我问开发说,json 就是 String 呀…

我发送的detail对应的value
{“resumeId”:“141”}

发送后收到的
{“type”:“3”,“detail”:"{“resumeId”:“141”}",“extras”:{}}

这是我的代码
private Map<String,String> createSendResumeMessage() {
Map<String,String> map = new HashMap<>();
JobHunterCacheData jobHunterCacheData = JobHunterUserInfoCache.getInstance().getData();
CustomMsgDetailData customMsgDetailData = new CustomMsgDetailData();
if(null!=jobHunterCacheData){
customMsgDetailData.setResumeId(jobHunterCacheData.getResumeId()+"");
}
String json = JSON.toJSONString(customMsgDetailData);
LoggUtil.e(“json–>”+json);
map.put(“type”,“3”);
map.put(“detail”,json);
LoggUtil.e(“map–>”+map);
return map;
}

您好 还在么

是这样的啊,没有问题啊?json 本身就是字符串啊,你收到的和你发送的数据没有错啊

收到的如果用Gson获取fastJson解析就会报错