JSON传递解析的问题

blackleech 2017-08-04 05:44:38
各位大神 你们好 在这里 求大家帮助我 直接点吧 我有一个从前段传递java中的json的值,需要解析该json,当中是提示错误,不解......

batchDeletionGameSkinServer:function(){
var me = this;
var grid = me.getGameSkinServiceGrid(); //获取表单变量的对象
var selected = grid.getSelectionModel().getSelection();
var skinId = [];
if (selected == null || selected.length <= 0) {
Ext.ux.Toast.msg("温馨提示", "请先选择要删除的专题信息");
return;
}
;
for(var i = 0; i < selected.length; i++) {
if (selected[i].data != null){
skinId.push(selected[i].data.skinId);
}
}
var record = selected,
params = {'skinId': skinId};

Ext.MessageBox.confirm('温馨提示', '确定删除该客服信息吗?', function (btn) {
if (btn == 'yes') {
me.getStore().remove(record);

Ext.Ajax.request({
url: './rs/skin/batchDeletionGameSkin',
jsonData: Ext.JSON.encode(params),
method: 'POST',
success: function (response, opts) {
Ext.ux.Toast.msg("温馨提示", "删除成功!");
me.getStore().load();
grid.getSelectionModel().deselectAll();
},
exception: function (response, opts) {
var json = Ext.decode(response.responseText);
Ext.ux.Toast.msg("温馨提示", json.message);
}
});
} else {
return;
}
});
},


这部分是前段传递值的部分,再看看传递的java部分

@Path("batchDeletionGameSkin")
@POST
@JsonProperty("skinId")
public IServiceResponse batchDeletionGameSkinAction(String skinId){

ResponseStatus responseStatus = new ResponseStatus();
RespMobileSkinDelMaster resp = new RespMobileSkinDelMaster();
SkinEO skinEO = new SkinEO();

JSONObject jsonObject = JSONObject.fromObject(skinId);
JSONArray jsonArray = JSONArray.fromObject(jsonObject);
List<BatchDeletionRequest> listArray = (List<BatchDeletionRequest>)
JSONArray.toCollection(jsonArray, BatchDeletionRequest.class);


代码在最后一部分就不保找不到类型匹配的错误
我的封装类是

public class BatchDeletionRequest extends AbstractServiceResponse {
private String skinId;

public String getTopicNo() {
return skinId;
}

public void setTopicNo(String topicNo) {
this.skinId = topicNo;
}
}


希望大家帮帮我 不胜感激
...全文
732 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
blackleech 2017-08-10
  • 打赏
  • 举报
回复
框架是自定义的框架 类型仿照SSM模式来制作的表现层框架,这里的注解 我不确定是不是对的 但这样的注解 能够将值接受到,不这样注解 就会报解析错误 前段的值能够传递进行来 只是在

 List<BatchDeletionRequest> listArray = (List<BatchDeletionRequest>)
                JSONArray.toCollection(jsonArray, BatchDeletionRequest.class);
就会报错 报的的上述提到的错误
墨笙弘一 2017-08-09
  • 打赏
  • 举报
回复
看看你的属性skinId的getter和setter方法是不是都有
脆爽 2017-08-09
  • 打赏
  • 举报
回复
BatchDeletionRequest 没skinId的set方法?
lyn584238910 2017-08-09
  • 打赏
  • 举报
回复
不知道你用的啥框架 看看是不是注解的问题 导致不匹配
blackleech 2017-08-09
  • 打赏
  • 举报
回复
没有什么不一样的 我的javaBean是这样的

public class BatchDeletionRequest extends AbstractServiceResponse {
    private String skinId;
 
    public String getSkinId() {
        return skinId;
    }
 
    public void setSkinId(String skinId) {
        this.skinId = skinId;
    }
}
但是依然会有错误提示为

java.lang.IllegalArgumentException: Cannot invoke com.m5173.mobile.backend.action.topic.DTO.BatchDeletionRequest.setSkinId on bean class 'class com.m5173.mobile.backend.action.topic.DTO.BatchDeletionRequest' - argument type mismatch - had objects of type "[Ljava.lang.String;" but expected signature "java.lang.String"
这个错误内容是说 无法调用BatchDeletionRequest类中的set方法,在该bean类中有参类型不匹配,但是

argument type mismatch - had objects of type "[Ljava.lang.String;" but expected signature "java.lang.String"
这句话是什么意思就不是很明白了 请各位帮帮我 感激 讨教一二 谢谢
blackleech 2017-08-09
  • 打赏
  • 举报
回复
没有什么不一样的 我的javaBean是这样的

public class BatchDeletionRequest extends AbstractServiceResponse {
    private String skinId;

    public String getSkinId() {
        return skinId;
    }

    public void setSkinId(String skinId) {
        this.skinId = skinId;
    }
}
但是依然会有错误提示为

java.lang.IllegalArgumentException: Cannot invoke com.m5173.mobile.backend.action.topic.DTO.BatchDeletionRequest.setSkinId on bean class 'class com.m5173.mobile.backend.action.topic.DTO.BatchDeletionRequest' - argument type mismatch - had objects of type "[Ljava.lang.String;" but expected signature "java.lang.String"
这个错误内容是说 无法调用BatchDeletionRequest类中的set方法,在该bean类中有参类型不匹配,当时
argument type mismatch - had objects of type "[Ljava.lang.String;" but expected signature "java.lang.String"
这句话是什么意思就不是很明白了 请各位帮帮我 感激 讨教一二 谢谢
blackleech 2017-08-07
  • 打赏
  • 举报
回复
jsonData: Ext.JSON.encode(params),
qq_38321773 2017-08-07
  • 打赏
  • 举报
回复
skinId在BatchDeletionRequest里面有吗?
blackleech 2017-08-04
  • 打赏
  • 举报
回复

 java.lang.NoSuchMethodException: Unknown property 'skinId' on class 'class com.m5173.mobile.backend.action.topic.DTO.BatchDeletionRequest'
qq_35942223 2017-08-04
  • 打赏
  • 举报
回复
异常呢?。。。。
blackleech 2017-08-04
  • 打赏
  • 举报
回复
展示代码的时候 其实我想标注为红色显示的 但结果却是<span style="color: #FF0000;">

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧