平时编程中经常遇到将多项内容放入字串,然后再一一解析出来的情况,常常是这样的字串操作不胜其烦。
我们可以使用JSON这一标准格式来组织内容到字符串,然后现成的类库来进行解析,准确而清晰。
例如:
多项值可以这样组织:{id:1, name:'John', number:'4563223'}
数组的格式是这样:[{id:1, name:'John', number:'4563223'}, {id:2, name:'Kate', number:'873223'}]
具体的格式说明看
这里。
下面来看一下在JAVA环境以及在WEB里的JAVASCRIPT解析方法:
JAVA的方式:
JSONObject jo = new JSONObject ("{id:1,name:'hello, world'}") ;
logger.info("{} is {}", jo.getInt("id"), jo.getString("name"));
JSONArray arr = new JSONArray("[" +
"{id:1,n:'host1',s:1}," +
"{id:2,n:'host2',s:0}," +
"{id:3,n:'host3',s:0}" +
"]");
for (int i=0; i<arr.length(); i++) {
JSONObject o = arr.getJSONObject(i);
logger.info("{} name is {}", o.getString("id"), o.getString("n"));
}
输出是:
1 is hello, world
1 name is host1
2 name is host2
3 name is host3
用到的类库在
这里。
JS的方式:
{
var o = Ext.util.JSON.decode( "{id:1,n:'host1',s:1}");
eb.log.debug (o.id + " is " + o.n);
}
{
var o = Ext.util.JSON.decode("[" +
"{id:1,n:'host1',s:1}," +
"{id:2,n:'host2',s:0}," +
"{id:3,n:'host2',s:0}" +
"]");
for (var i=0; i<o.length; i++) {
eb.log.debug (o[i].id + " is " + o[i].n);
}
}
输出是:
1 is host1
1 is host1
2 is host2
3 is host2
用到的工具在
这里。这里用了EXT包裹过一道的此工具,工作方式是一样的。
posted on 2008-05-10 12:15
我爱佳娃 阅读(7095)
评论(4) 编辑 收藏 所属分类:
JAVA基础