JSON

JSON与fastjson

字号+ 作者:H5之家 来源:H5之家 2016-07-20 18:00 我要评论( )

JSON与fastjson_JSON(JavaScriptObject Notation)是一种轻量级的数据交换amp;#26684;式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Prog

JSON与fastjson

[摘要:JSON(JavaScriptObject Notation)是一种沉量级的数据互换格式。 易于人浏览战编写。同时也易于呆板剖析战天生。 它基于JavaScript Programming Language , Standard]

JSON(JavaScriptObject Notation)是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language , Standard ECMA-262 3rd Edition - December 1999 的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java,JavaScript, Perl, Python等)。。

JSON建构于两种结构

  • A collection of name/value pairs在大部分语言中,它被理解为数组(array)。
  • 这些都是常见的数据结构。事实上大部分现代计算机语言都以某种形式支持它们。这使得一种数据格式在同样基于这些结构的编程语言之间交换成为可能。

    JSON具有以下这些形式:

    一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。

    \

    \

    \


    \

    一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。

    \

    \


    \

    值(value可以是双引号括起来的字符串(string、数值(number)、true、false、 null、对象(object)或者数组(array)。这些结构可以嵌套。

    \


    \

    使用反斜线转义。一个字符(character)即一个单独的字符串(character string)。

    字符串(string)与C或者Java的字符串非常相似。

    \

    \

    \


    数值(number)也与C或者Java的数值非常相似。除去未曾使用的八进制与十六进制格式。除去一些编码细节。

    \

    \


    一个JSON格式的数据示例:

    { “Name” : “Apple”, “Expiry” : “2007/10/11 13:54”, “Price” : 3.99, “Sizes” :[ “Small”, “Medium”, “Large”] }

    ,这是因为JSON容易阅读并且它的结构匹配常见的编程概念,诸如对象和数组。JSON也比XML更高效(即更快的解析和网络传输),这是因为JSON更紧凑——没有开始和结束标签。

    部分内容摘自:

     

     

    (其中后台使用到memcache的缓存)

    $.ajax({ url:"unit/get-BKConsumeRanking", data:{}, type:"post", dataType:"json", success:function(data){ if(data.success){ data = data.ranking; var str =''; $.each(data, function(i, item) { //遍历list if(i<=2){ str = str+ '<tr class="zx_tb_row">'+ '<td class="zx_tb_cell zx_td_1"><img src="'+(i+1)+'.png"></td>'+ '<td class="zx_tb_cell zx_td_2"><div class="zx_tb_exp zx_tb_name"><img class="rank_photo" src="'+item.photo+'">'+item.name+'</div></td>'+ '<td class="zx_tb_cell zx_td_3 zx_tb_name">'+item.amount+'</td></tr>'; }else{ str = str+'<tr class="zx_tb_row">'+ '<td class="zx_tb_cell zx_td_1">'+(i+1)+'</td>'+ '<td class="zx_tb_cell zx_td_2"><div class="zx_tb_exp zx_tb_name"><img class="rank_photo" src="'+item.photo+'">'+item.name+'</div></td>'+ '<td class="zx_tb_cell zx_td_3 zx_tb_name">'+item.amount+'</td></tr>'; } }); $(".BKConsumeRanking").append(str); } } })
    /** * 查询府消费排行 * @since 1.1 * @param request r * @return * <br><b>作者: @author tengxiang</b> * <br>创建时间:2016年4月18日 上午11:12:08 */ @ResponseBody @RequestMapping(value = "/get-BKConsumeRanking") public JSONObject getBKConsumeRanking(HttpServletRequest request){ HttpSession session = request.getSession(); Long unitId = null; if (session.getAttribute(Constants.NMS_SESSION_DEFFAULT_UNIT) == null) { throw new BusinessException("非法请求!"); } JSONObject json = new JSONObject(); json.put("success", false); UnitDto u = (UnitDto) session.getAttribute(Constants.NMS_SESSION_DEFFAULT_UNIT); unitId = u.getId(); ArrayList<UserBKConsumeRanking> list = new ArrayList<UserBKConsumeRanking>(); String key = MemcacheKeys.F_BKCONSUME_RANKING_UNIT+unitId; Object object = memcachedClient.get(key); if (object != null) { list = (ArrayList<UserBKConsumeRanking>) object; json.put("success", true); json.put("ranking", list); return json; } //获取府消费排行 String bkConsumeRanking = bestkeepService.getBKConsumeRanking(unitId, null,null); HashMap<String,ArrayList<UserBKConsumeRanking>> jsonMap = JSON.parseObject(bkConsumeRanking, new TypeReference<HashMap<String,ArrayList<UserBKConsumeRanking>>>() {}); list = jsonMap.get("data"); if (list != null && !list.isEmpty()) { List<Long> userIds = new ArrayList<Long>(); for(UserBKConsumeRanking userinfo :list){ userIds.add(userinfo.getUser_id()); } List<UserExpandDto> expandDtos = new ArrayList<UserExpandDto>(); if (userIds != null && userIds.size() > 0) { expandDtos = userExpandService.getUsersByUserIds(userIds); } for (UserExpandDto userExpandDto : expandDtos) { for(UserBKConsumeRanking userinfo :list){ if (userinfo.getUser_id().equals(userExpandDto.getUserId())) { userinfo.setName(userExpandDto.getName()); userinfo.setPhoto(NmsUtils.photo(userPhotoUrl, userExpandDto.getPhoto())); } } } } int size = 6-list.size(); for(int i=0;i < size;i++){ String str = "{\"amount\":\"----\",\"user_id\":\"\",\"name\":\"未被占领\"}"; UserBKConsumeRanking obj = JSON.parseObject(str, new TypeReference<UserBKConsumeRanking>() {}); list.add(obj); } memcachedClient.set(key, MemcacheKeys.MEM_CACHE_TIME_ONE_HOUR, list); json.put("success", true); json.put("ranking", list); return json; }



    相关推荐

    感谢关注 Ithao123JS频道,ithao123.cn是专门为互联网人打造的学习交流平台,全面满足互联网人工作与学习需求,更多互联网资讯尽在 IThao123!


    关键词:


    文章点评:

    精选专题

    Laravel入门教程

    Laravel入门教程

    Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。

    hadoop学习及应用

    hadoop学习及应用

     

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    网友点评
    a