当前位置: 首页>>代码示例>>Java>>正文


Java JsonField类代码示例

本文整理汇总了Java中org.nutz.json.JsonField的典型用法代码示例。如果您正苦于以下问题:Java JsonField类的具体用法?Java JsonField怎么用?Java JsonField使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


JsonField类属于org.nutz.json包,在下文中一共展示了JsonField类的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: eval

import org.nutz.json.JsonField; //导入依赖的package包/类
public static JsonEntityField eval(Mirror<?> mirror, Field fld) {
    if (fld == null) {
        return null;
    }

    // 以特殊字符开头的字段,看起来是隐藏字段
    // XXX 有用户就是_开头的字段也要啊! by wendal
    // if (fld.getName().startsWith("_") || fld.getName().startsWith("$"))
    if (fld.getName().startsWith("$")
        && fld.getAnnotation(JsonField.class) == null)
        return null;

    JsonField jf = fld.getAnnotation(JsonField.class);

    JsonEntityField jef = new JsonEntityField();
    jef.genericType = Lang.getFieldType(mirror, fld);
    jef.name = Strings.sBlank(null == jf ? null : jf.value(), fld.getName());
    jef.ejecting = mirror.getEjecting(fld.getName());
    jef.injecting = mirror.getInjecting(fld.getName());

    // 瞬时变量和明确声明忽略的,变 ignore
    if (Modifier.isTransient(fld.getModifiers())
        || (null != jf && jf.ignore())) {
        jef.setIgnore(true);
    }


    // 判断字段是否被强制输出为字符串
    if (null != jf) {
        jef.setForceString(jf.forceString());
        if (!Strings.isBlank(jf.dateFormat())) {
            jef.dateFormat = new SimpleDateFormat(jf.dateFormat());
        }
    }
    
    JsonIgnore jsonIgnore = fld.getAnnotation(JsonIgnore.class);
    if (jsonIgnore != null) {
        Mirror<?> fldMirror = Mirror.me(fld.getType());
        jef.isInt = fldMirror.isInt();
        jef.isDouble = fldMirror.isDouble() || fldMirror.isFloat();
    	jef.hasJsonIgnore = true;
        if (jef.isDouble)
        	jef.ignoreNullDouble = jsonIgnore.null_double();
        if (jef.isInt)
        	jef.ignoreNullInt = jsonIgnore.null_int();
    }
    
    return jef;
}
 
开发者ID:cowthan,项目名称:JavaAyo,代码行数:50,代码来源:JsonEntityField.java


注:本文中的org.nutz.json.JsonField类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。