映射到json对象
问题描述:
我试图将通用类型的映射和其中包含的另一个映射转换为JSON对象并将其发送给UI,但我只获取父映射,它内部的映射即将到来作为字符串。映射到json对象
例,
JSONObject obj = new JSONObject();
Map parent = new HashMap();
parent.put("key1", "value1");
Map child = new HashMap();
child.put("childKey", "childValue");
parent.put("map1", child);
obj.put("result", parent);
return obj.toString();
请忽略语法错误。上面的代码给了我父母的地图正确是
父[键1] - 值1
父[MAP1] - 孩子
,但是当我看到孩子了其作为字符串如儿童未来 - {childkey = childvalue }
我怎样才能有数组或像父地图的子地图呢?
答
只是想到这里,但你可能想利用Jackson JSON库。他们的对象映射器和注释极大地简化了你处理JSON的方式,并且将所有东西从你的POJO中分离出来。
答
在JSON中,顶级对象没有被命名(因为它不是另一个对象的属性)。因此,您只需添加另一个更高级别的对象(或数组)即可查看已命名的父级(作为顶级对象的属性)。但是你生成的JSON已经是有效的,并且已经是我期望看到的JavaScript消费者。
你必须重新解析才能得到孩子在地图 – mulax 2012-07-12 19:10:19
重分析?分别发送父母和孩子? – Mojoy 2012-07-12 19:13:23
当你从父母的地图从JSON,孩子仍然是JSON。如果我明白你的问题 – mulax 2012-07-12 19:22:18