Search in sources :

Example 26 with NutMap

use of org.nutz.lang.util.NutMap in project nutz by nutzam.

the class Lang method __change_map_to_nutmap.

@SuppressWarnings("unchecked")
private static NutMap __change_map_to_nutmap(Map<String, Object> map, final Map<Object, Object> memo) {
    NutMap re = new NutMap();
    for (Map.Entry<String, Object> en : map.entrySet()) {
        Object v = en.getValue();
        if (null == v)
            continue;
        Mirror<?> mr = Mirror.me(v);
        // 普通值
        if (mr.isSimple()) {
            re.put(en.getKey(), v);
        } else // 已经输出过了
        if (memo.containsKey(v)) {
            continue;
        } else // 数组或者集合
        if (mr.isColl()) {
            final List<Object> list2 = new ArrayList<Object>(Lang.length(v));
            Lang.each(v, new Each<Object>() {

                public void invoke(int index, Object ele, int length) {
                    __join_ele_to_list_as_map(list2, ele, memo);
                }
            });
            re.put(en.getKey(), list2);
        } else // Map
        if (mr.isMap()) {
            NutMap map2 = __change_map_to_nutmap((Map<String, Object>) v, memo);
            re.put(en.getKey(), map2);
        } else // 看来要递归
        {
            NutMap map2 = obj2nutmap(v);
            re.put(en.getKey(), map2);
        }
    }
    return re;
}
Also used : ArrayList(java.util.ArrayList) Map(java.util.Map) HashMap(java.util.HashMap) LinkedHashMap(java.util.LinkedHashMap) NutMap(org.nutz.lang.util.NutMap) NutMap(org.nutz.lang.util.NutMap)

Example 27 with NutMap

use of org.nutz.lang.util.NutMap in project nutz by nutzam.

the class JsonTest method test_null_as_emtry_string.

@Test
public void test_null_as_emtry_string() {
    NutMap re = new NutMap("abc", null);
    assertEquals("{abc:null}", Json.toJson(re, JsonFormat.compact().setIgnoreNull(false).setQuoteName(false)));
    assertEquals("{abc:\"\"}", Json.toJson(re, JsonFormat.compact().setIgnoreNull(false).setQuoteName(false).setNullAsEmtry(true)));
}
Also used : NutMap(org.nutz.lang.util.NutMap) Test(org.junit.Test)

Example 28 with NutMap

use of org.nutz.lang.util.NutMap in project nutz by nutzam.

the class JsonTest method test_json_date.

@Test
public void test_json_date() {
    Castors cs = Castors.create();
    cs.addCastor(MyDate2StringCastor.class);
    NutMap map = new NutMap();
    map.put("now", new Date());
    System.out.println(Json.toJson(map, JsonFormat.compact()));
    System.out.println(Json.toJson(map, JsonFormat.compact().setCastors(cs)));
}
Also used : Castors(org.nutz.castor.Castors) Date(java.util.Date) NutMap(org.nutz.lang.util.NutMap) Test(org.junit.Test)

Example 29 with NutMap

use of org.nutz.lang.util.NutMap in project nutz by nutzam.

the class JsonTest method test_region_as_String.

@Test
public void test_region_as_String() {
    String str = "{" + "n:8, " + "region:'(4,19]'," + "regionArray : ['(2,3)','[6,9)']," + "regionList : ['(2,3)','(6,8]']" + "}";
    JX jx = Json.fromJson(JX.class, str);
    String str2 = Json.toJson(jx);
    NutMap map = Json.fromJson(NutMap.class, str2);
    assertEquals(jx.getRegion().toString(), map.get("region"));
    String[] ss = map.getArray("regionArray", String.class);
    assertEquals(2, ss.length);
    assertEquals("(2,3)", ss[0]);
    assertEquals("[6,9)", ss[1]);
    List<String> list = map.getList("regionList", String.class);
    assertEquals(2, list.size());
    assertEquals("(2,3)", list.get(0));
    assertEquals("(6,8]", list.get(1));
}
Also used : JX(org.nutz.json.meta.JX) NutMap(org.nutz.lang.util.NutMap) Test(org.junit.Test)

Example 30 with NutMap

use of org.nutz.lang.util.NutMap in project nutz by nutzam.

the class JsonTest method test_json_timezone.

@Test
public void test_json_timezone() throws IOException {
    Date date = new Date(0);
    JsonFormat jf_china = Json.fromJson(JsonFormat.class, "{dateFormat:'yyyy-MM-dd HH:mm:ss', timeZone:'GMT+8'}").setCompact(true);
    JsonFormat jf_yvr = Json.fromJson(JsonFormat.class, "{dateFormat:'yyyy-MM-dd HH:mm:ss', timeZone:'GMT-8'}").setCompact(true);
    String json_china = Json.toJson(new NutMap("date", date), jf_china);
    String json_yvr = Json.toJson(new NutMap("date", date), jf_yvr);
    System.out.println(json_china);
    System.out.println(json_yvr);
    assertEquals("{\"date\":\"1970-01-01 08:00:00\"}", json_china);
    assertEquals("{\"date\":\"1969-12-31 16:00:00\"}", json_yvr);
}
Also used : Date(java.util.Date) NutMap(org.nutz.lang.util.NutMap) Test(org.junit.Test)

Aggregations

NutMap (org.nutz.lang.util.NutMap)37 Test (org.junit.Test)15 IOException (java.io.IOException)7 ArrayList (java.util.ArrayList)7 Map (java.util.Map)7 HashMap (java.util.HashMap)6 LinkedHashMap (java.util.LinkedHashMap)5 Date (java.util.Date)4 File (java.io.File)3 BufferedOutputStream (java.io.BufferedOutputStream)2 FileNotFoundException (java.io.FileNotFoundException)2 FileOutputStream (java.io.FileOutputStream)2 OutputStream (java.io.OutputStream)2 StringWriter (java.io.StringWriter)2 UnsupportedEncodingException (java.io.UnsupportedEncodingException)2 Field (java.lang.reflect.Field)2 BigDecimal (java.math.BigDecimal)2 List (java.util.List)2 HttpServletRequest (javax.servlet.http.HttpServletRequest)2 FilePool (org.nutz.filepool.FilePool)2