// Json Plugin //struts2 // Ext JsonReader
root:[
{'id':"",'name':""},
{'id':""}
]
ColumnModel : Fiedls 为 {name:'id'}{name:'name'}
读第二行时 取root[2].name就会出错
----------------------------
重写 JsonReader readRecords方法
Ext.override(Ext.data.JsonReader,{
readRecords : function(o){
...
var records = [];
for(var i = 0; i < c; i++){
var n = root[i];
var values = {};
var id = this.getId(n);
for(var j = 0; j < fl; j++){
f = fi[j];
[color=green]try{[/color]
var v = this.ef[j](n);
values[f.name] = f.convert((v !== undefined) ? v : f.defaultValue, n);
[color=green]}catch(e){[/color]
values[f.name] = ?. f.defaultValue
[color=green]}[/color]
...
});
加try ... 因JSON数据不规则 读取异常时 设为默认值
root:[
{'id':"",'name':""},
{'id':""}
]
ColumnModel : Fiedls 为 {name:'id'}{name:'name'}
读第二行时 取root[2].name就会出错
----------------------------
重写 JsonReader readRecords方法
Ext.override(Ext.data.JsonReader,{
readRecords : function(o){
...
var records = [];
for(var i = 0; i < c; i++){
var n = root[i];
var values = {};
var id = this.getId(n);
for(var j = 0; j < fl; j++){
f = fi[j];
[color=green]try{[/color]
var v = this.ef[j](n);
values[f.name] = f.convert((v !== undefined) ? v : f.defaultValue, n);
[color=green]}catch(e){[/color]
values[f.name] = ?. f.defaultValue
[color=green]}[/color]
...
});
加try ... 因JSON数据不规则 读取异常时 设为默认值
本文介绍了一个在Struts2框架中使用ExtJsonReader解析不规则JSON数据时遇到的问题及解决方案。作者通过重写JsonReader的readRecords方法,并加入try-catch语句来处理异常情况,当读取的数据缺失或格式错误时,将采用默认值填充,确保程序的稳定运行。
1955

被折叠的 条评论
为什么被折叠?



