Package org.nutz.json.entity

Examples of org.nutz.json.entity.JsonEntity


   * @param classOfT
   *            类型
   * @return 实体对象
   */
  static JsonEntity getEntity(Class<?> classOfT) {
    JsonEntity je = entities.get(classOfT.getName());
    if (null == je)
      synchronized (entities) {
        je = entities.get(classOfT.getName());
        if (null == je) {
          je = new JsonEntity(Mirror.me(classOfT));
          entities.put(classOfT.getName(), je);
        }
      }
    return je;
  }
View Full Code Here


      throw Lang.wrapThrow(e);
    }
    /*
     * Default
     */
    JsonEntity jen = Json.getEntity(type);
    List<JsonEntityField> fields = jen.getFields();
    appendBraceBegin();
    increaseFormatIndent();
    ArrayList<Pair> list = new ArrayList<Pair>(fields.size());
    for (JsonEntityField jef : fields) {
      String name = jef.getName();
View Full Code Here

        }
      } else
        re.putAll(map);
      return re;
    } else { // 看来是Pojo
      JsonEntity jen = Json.getEntity(me.getType());
      Object re = jen.born();
      // 遍历目标对象的全部字段
      for (JsonEntityField jef : jen.getFields()) {
        Object value = map.get(jef.getName());
        if (value == null)
          continue;
        jef.setValue(re, convert(jef.getGenericType(), value));
      }
View Full Code Here

    /**
     * 获取一个 Json 实体
     */
    public static JsonEntity getEntity(Mirror<?> mirror) {
        JsonEntity je = entities.get(mirror.getTypeId());
        if (null == je) {
            je = new JsonEntity(mirror);
            entities.put(mirror.getTypeId(), je);
        }
        return je;
    }
View Full Code Here

            return;
        /*
         * Default
         */
        Class<?> type = obj.getClass();
        JsonEntity jen = Json.getEntity(Mirror.me(type));
        Method toJsonMethod = jen.getToJsonMethod();
        if (toJsonMethod != null) {
            try {
                if (toJsonMethod.getParameterTypes().length == 0) {
                    writer.append(String.valueOf(toJsonMethod.invoke(obj)));
                } else {
                    writer.append(String.valueOf(toJsonMethod.invoke(obj, format)));
                }
                return;
            }
            catch (Exception e) {
                throw Lang.wrapThrow(e);
            }
        }
        List<JsonEntityField> fields = jen.getFields();
        appendBraceBegin();
        increaseFormatIndent();
        ArrayList<Pair> list = new ArrayList<Pair>(fields.size());
        for (JsonEntityField jef : fields) {
            String name = jef.getName();
View Full Code Here

            return model;
        Object obj = mirror.born();
        context.set(fetchPath(), obj);
        Map<String, ?> map = (Map<String, ?>) model;

        JsonEntity jen = Json.getEntity(mirror);
        for (String key : map.keySet()) {
            JsonEntityField jef = jen.getField(key);
            if (jef == null) {
                continue;
            }

            Object val = map.get(jef.getName());
View Full Code Here

    private Map<String, Object> pojo2Json(Object obj, Map<String, Object> map) {
        if (null == obj)
            return null;
        Class<? extends Object> type = obj.getClass();
        JsonEntity jen = Json.getEntity(Mirror.me(type));
        List<JsonEntityField> fields = jen.getFields();
        ArrayList<Pair> list = new ArrayList<Pair>(fields.size());
        for (JsonEntityField jef : fields) {
            String name = jef.getName();
            try {
                Object value = jef.getValue(obj);
View Full Code Here

    /**
     * 获取一个 Json 实体
     */
    public static JsonEntity getEntity(Mirror<?> mirror) {
        JsonEntity je = entities.get(mirror.getTypeId());
        if (null == je) {
            je = new JsonEntity(mirror);
            entities.put(mirror.getTypeId(), je);
        }
        return je;
    }
View Full Code Here

            return;
        /*
         * Default
         */
        Class<?> type = obj.getClass();
        JsonEntity jen = Json.getEntity(Mirror.me(type));
        Method toJsonMethod = jen.getToJsonMethod();
        if (toJsonMethod != null) {
            try {
                if (toJsonMethod.getParameterTypes().length == 0) {
                    writer.append(String.valueOf(toJsonMethod.invoke(obj)));
                } else {
                    writer.append(String.valueOf(toJsonMethod.invoke(obj,
                                                                     format)));
                }
                return;
            }
            catch (Exception e) {
                throw Lang.wrapThrow(e);
            }
        }
        List<JsonEntityField> fields = jen.getFields();
        appendBraceBegin();
        increaseFormatIndent();
        ArrayList<Pair> list = new ArrayList<Pair>(fields.size());
        for (JsonEntityField jef : fields) {
            if (jef.isIgnore())
View Full Code Here

public class JsonEntityTest {

    @Test
    public void test_entity_parse() {
        JsonEntity jen = Json.getEntity(Mirror.me(JENObj.class));
        assertEquals(3, jen.getFields().size());

        assertEquals(long.class, jen.getField("id").getGenericType());
        assertEquals(String.class, jen.getField("name").getGenericType());
        assertEquals(int.class, jen.getField("age").getGenericType());

    }
View Full Code Here

TOP

Related Classes of org.nutz.json.entity.JsonEntity

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.