随笔-124  评论-194  文章-0  trackbacks-0
平时编程中经常遇到将多项内容放入字串,然后再一一解析出来的情况,常常是这样的字串操作不胜其烦。
我们可以使用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 我爱佳娃 阅读(7079) 评论(4)  编辑  收藏 所属分类: JAVA基础

评论:
# re: 用JSON格式进行内容组织,跟多项内容的字符串解析说BYEBYE[未登录] 2008-05-10 23:11 | Summer
呵呵,很棒的文章,浅显易懂。  回复  更多评论
  
# re: 用JSON格式进行内容组织,跟多项内容的字符串解析说BYEBYE[未登录] 2008-05-10 23:36 | Samuel
呵呵!建议参考一下XStream。  回复  更多评论
  
# re: 用JSON格式进行内容组织,跟多项内容的字符串解析说BYEBYE 2008-05-11 08:54 | 我爱佳娃
嗯,XSTREAM也可以“组织内容到字串”,它的两分钟教程在这里:http://xstream.codehaus.org/tutorial.html

XSTREAM是将整个对象输出成XML,好像不能控制需要输出的成员及其字段名,但可以非常方便的自动进行转换;它输出的XML要比JSON费纸。JSON天然与WEB上的JAVASCRIPT集成也是一个优点。各有用武之地,XSTREAM是个好东东!  回复  更多评论
  
# re: 用JSON格式进行内容组织,跟多项内容的字符串解析说BYEBYE 2008-05-11 18:39 | dellsoft
json-lib 也不错呀  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: