zoukankan      html  css  js  c++  java
  • JSON进阶七——AOP

    小弟最近很迷恋JSON,以至于俺媳妇也吃起JSON的醋来(开个玩笑,呵呵)。至于小弟举的例子算不算面向切面(AOP),仁者见仁,智者见智。只是小弟对JSON的一种使用小技巧。

    我可能使用AJAX,然后从后台调用一段数据,该数据可能是JSON格式的。

    例如:{name:"张三",sex:1}

    好了我们需要做的就是把sex转换成中文,当然你可以选择在后台处理,当然我们也会选择在前台完成?

    当我们把数据一个一个放进对应的位置事,我们一般会这样做。


    var json = {name:"张三",sex:1};

    for(
    var f in json){

         
    if (f == “sex”){

              document.getElementById(f).value 
    = josn[f] == 1 ? "" : "";

         } 
    else {

              document.getElementById(f).value 
    = josn[f];

         }

    }

    如果在来一个证件类型什么的,是不是我们还要在判断一次?

    在来N个,我们是不是用Switch?

    不~我们选择更好的方式。

    var jsonEnum = {

         sex: 
    function(val){

              
    var a = val == 1 ? "" : "";

              
    return a;

         },

    idType: 
    function(val){

            var a = null;

           
    switch(val){

           ..

              }

         }

    };

    var jsonBean = {
     json:NaN,
      Get: 
    function(key){
           
    if (jsonEnum[key]){
                 
    return jsonEnum[key](this.json[key]);
            }
            
    else {
            
    return this.json[key];
            }

       }
    };

    var json = {name:"张三",sex:1,idType:1};

    jsonBean.json 
    = json;
    for(var f in json){
              alert(jsonBean.Get(f));

    }

    jsonBean我们姑且可以把这个东西看成类似于Spring的容器,同时把jsonEnum当成一个配置文件,以及可扩展的类?同样的我们是不是可以通过一定的方式,做数据验证,组合等等,只要我们有这样一个“容器”JSON。

  • 相关阅读:
    计算机专业及软件开发推荐书籍
    摘抄Interrupt Architecture in Microsoft Windows CE .NET
    摘抄Multithreaded Programming on the Pocket PC with Visual C++
    摘抄Driver Code Structure
    摘抄Multimedia Streaming on Microsoft Windows CE 3.0
    摘抄Creating a Board Support Package Using the Windows CE .NET CEC Editor
    摘抄 Board Support Package, Boot Loader, and Kernel Startup Sequence
    摘抄The Case of the Missing Ordinal
    摘录Windows CE API机制初探
    摘抄非技术追梦—SQUARE大传
  • 原文地址:https://www.cnblogs.com/KangC/p/1401133.html
Copyright © 2011-2022 走看看