频道栏目
首页 > 程序开发 > 移动开发 > 其他 > 正文
quick-cocos2d-x解析json
2013-05-29 16:23:46           
收藏   我要投稿

先声明下我采用的是http服务器,客户端用的curl。

下面是我服务器端代码,我用的是jetty,其他服务器的都类似:

 


[java] public class JsonServlet extends HttpServlet { 
 
    private static final long serialVersionUID = 1L; 
 
    @Override 
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) 
            throws ServletException, IOException { 
        resp.setContentType("application/json"); 
        resp.setCharacterEncoding("UTF-8"); 
        Map map = new HashMap();   
        map.put( "name", "json" );   
        map.put( "bool", Boolean.TRUE );   
        map.put( "int", new Integer(1) );   
        map.put( "arr", new String[]{"a","b"} ); 
        String jsonStr=JSONArray.fromObject(map).toString(); 
        resp.getWriter().println(jsonStr); 
        resp.flushBuffer(); 
        System.out.println(jsonStr); 
    }    
 

public class JsonServlet extends HttpServlet {

 private static final long serialVersionUID = 1L;

 @Override
 protected void doPost(HttpServletRequest req, HttpServletResponse resp)
   throws ServletException, IOException {
  resp.setContentType("application/json");
  resp.setCharacterEncoding("UTF-8");
  Map map = new HashMap(); 
        map.put( "name", "json" ); 
        map.put( "bool", Boolean.TRUE ); 
        map.put( "int", new Integer(1) ); 
        map.put( "arr", new String[]{"a","b"} );
        String jsonStr=JSONArray.fromObject(map).toString();
        resp.getWriter().println(jsonStr);
        resp.flushBuffer();
        System.out.println(jsonStr);
 } 

}熟悉json的同学可以看懂我返回的json的数据。

下面是客户端lua代码:


[html] local function callback(event) 
    local ok = (event.name == "completed") 
    local request = event.request 
    local response = request:getResponseString() 
     print(response) 
    local json=require("framework.shared.json") 
    local t=json.decode(response) 
    print(t) 
end 
 
local request = network.createHTTPRequest(callback, "https://localhost:8080/json", "POST") 
request:start() 

local function callback(event)
 local ok = (event.name == "completed")
 local request = event.request
 local response = request:getResponseString()
     print(response)
 local json=require("framework.shared.json")
 local t=json.decode(response)
 print(t)
end

local request = network.createHTTPRequest(callback, "https://localhost:8080/json", "POST")
request:start()
其中https://........./json是上面servlet的响应url。

json.decode()函数会返回一个已经解析好的table也就是上面的变量t。

然后就可以通过t来访问获取到的数据了。

 

点击复制链接 与好友分享!回本站首页
上一篇:[cocos2d-x] --- 使用位图工具自定义字体
下一篇:cocos2dx android mk 2.0.2编译文件目录以及导入库问题
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站