JSON

小彭 的技术专栏

字号+ 作者:H5之家 来源:H5之家 2015-10-21 16:20 我要评论( )

先说一下JS的获取方法,其要比JQUERY的方法麻烦很多,后面以JQUERY的方法作对比。JS的方法会比JQUERY麻烦很多,主要则是因为FF浏览器,FF浏览器会把你的换行也当

public static void testJSONToBeanHavaMap() { // 把Map看成一个对象 String json = "{list:[{name:\"test1\"},{name:\"test2\"}],map:{test1:{name:\"test1\"},test2:{name:\"test2\"}}}"; Map classMap = new HashMap(); classMap.put("list", Person.class); classMap.put("map", Map.class); // 使用暗示,直接将json解析为指定自定义对象,其中List完全解析,Map没有完全解析 MyBeanWithPerson diyBean =(MyBeanWithPerson)JSONObject.toBean(JSONObject.fromObject(json), MyBeanWithPerson.class, classMap); System.out.println(diyBean); System.out.println("do the list release"); List<Person> list = diyBean.getList(); for (Person o : list) { Person p = (Person) o; System.out.println(p.getName()); } System.out.println("do the map release"); // 先往注册器中注册变换器,需要用到ezmorph包中的类 MorpherRegistry morpherRegistry = JSONUtils.getMorpherRegistry(); Morpher dynaMorpher = new BeanMorpher(Person.class, morpherRegistry); morpherRegistry.registerMorpher(dynaMorpher); Map map = diyBean.getMap(); //这里的map没进行类型暗示,故按默认的,里面存的为net.sf.ezmorph.bean.MorphDynaBean类型的对象 System.out.println(map); List<Person> output = new ArrayList(); for (Iterator i = map.values().iterator(); i.hasNext();) { // 使用注册器对指定DynaBean进行对象变换 output.add((Person) morpherRegistry.morph(Person.class, i.next())); } for (Person p : output) { System.out.println(p.getName()); } }

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • DockOne技术分享(十二):新浪是如何分析处理32亿条实时日志的

    DockOne技术分享(十二):新浪是如何分析处理32亿条实时日志的

    2016-02-05 19:16

  • 常见的java代码转换成json

    常见的java代码转换成json

    2016-01-27 17:01

  • Jsonp 关键字详解及json和jsonp的区别,ajax和jsonp的区别

    Jsonp 关键字详解及json和jsonp的区别,ajax和jsonp的区别

    2016-01-18 17:28

  • 正则表达式优化JSON字符串的技巧

    正则表达式优化JSON字符串的技巧

    2016-01-18 09:06

网友点评
r