`

JSON与JAVA的数据转换--String->Bean

阅读更多
5、String to bean
    String json = "{name="json",bool:true,int:1,double:2.2,func:function(a){ return a; },array:[1,2]}";       
   JSONObject jsonObject = JSONObject.fromString(json);       
   Object bean = JSONObject.toBean( jsonObject );       
     assertEquals( jsonObject.get( "name" ), PropertyUtils.getProperty( bean, "name" ) );       
     assertEquals( jsonObject.get( "bool" ), PropertyUtils.getProperty( bean, "bool" ) );       
     assertEquals( jsonObject.get( "int" ), PropertyUtils.getProperty( bean, "int" ) );       
     assertEquals( jsonObject.get( "double" ), PropertyUtils.getProperty( bean, "double" ) );       
     assertEquals( jsonObject.get( "func" ), PropertyUtils.getProperty( bean, "func" ) );       
     List eXP ected = JSONArray.toList( jsonObject.getJSONArray( "array" ) );       
     assertEquals( exp ected, (List) PropertyUtils.getProperty( bean, "array" ) );      
 
String json = "{name="json",bool:true,int:1,double:2.2,func:function(a){ return a; },array:[1,2]}";     
JSONObject jsonObject = JSONObject.fromString(json);     
Object bean = JSONObject.toBean( jsonObject );     
  assertEquals( jsonObject.get( "name" ), PropertyUtils.getProperty( bean, "name" ) );     
  assertEquals( jsonObject.get( "bool" ), PropertyUtils.getProperty( bean, "bool" ) );     
  assertEquals( jsonObject.get( "int" ), PropertyUtils.getProperty( bean, "int" ) );     
  assertEquals( jsonObject.get( "double" ), PropertyUtils.getProperty( bean, "double" ) );     
  assertEquals( jsonObject.get( "func" ), PropertyUtils.getProperty( bean, "func" ) );     
  List exp ected = JSONArray.toList( jsonObject.getJSONArray( "array" ) );     
  assertEquals( exp ected, (List) PropertyUtils.getProperty( bean, "array" ) );     
 
  String json = "{"value":"xx","row":1,"col":1}";       
  JSONObject jsonObject = JSONObject.fromString(json);    
  JsonBean2 bean = (JsonBean2) JSONObject.toBean( jsonObject, JsonBean2.class );       
      assertEquals( jsonObject.get( "col" ),new Integer( bean.getCol())  );       
      assertEquals( jsonObject.get( "row" ), new Integer( bean.getRow() ) );       
      assertEquals( jsonObject.get( "value" ), bean.getValue() );      
 
String json = "{"value":"xx","row":1,"col":1}";     
JSONObject jsonObject = JSONObject.fromString(json);  
JsonBean2 bean = (JsonBean2) JSONObject.toBean( jsonObject, JsonBean2.class );     
    assertEquals( jsonObject.get( "col" ),new Integer( bean.getCol())  );     
    assertEquals( jsonObject.get( "row" ), new Integer( bean.getRow() ) );     
    assertEquals( jsonObject.get( "value" ), bean.getValue() );     
分享到:
评论
2 楼 jianxia801 2012-04-17  
现在天下文章一大抄;实际没有这个fromString方法:准确的方法是 jsonObject = JSONObject.fromObject(json);
    Student stu = (Student) JSONObject.toBean(jsonObject, Student.class);
    fail(stu.toString());
参考文章:http://www.cnblogs.com/hoojo/archive/2011/04/21/2023805.html 为以后寻找此转换的人 提供一个便捷地址。
1 楼 gqzyyxh 2010-10-28  
你好:
JSONObject jsonObject = JSONObject.fromString(json)
这段代码里面fromString(String)方法,需要哪个jar包呢,
我用的是json-lib-2.2.3-jdk15.jar和ezmorph-1.0.4.jar这两个jar包,
只有fromObject(String)这个方法,谢谢~

相关推荐

    JavaBean与JsonString的相互转换

    小测试,将JavaBean与JsonString的相互转换。

    详解json string转换为java bean及实例代码.docx

    详解json string转换为java bean及实例代码.docx

    Java中Json字符串直接转换为对象的方法(包括多层List集合)

    下面小编就为大家带来一篇Java中Json字符串直接转换为对象的方法(包括多层List集合)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    JSON-lib框架,转换JSON、XML不再困难

    fail("==============Java Map >>> JSON Object=================="); fail(JSONObject.fromObject(map).toString()); fail("==============Java Map >>> JSON Array =================="); fail(JSONArray.from...

    通过fastjson实现各种格式与json之间的转换

    通过fastjson实现了JavaBean,list<JavaBean>,MAP,list<String>等格式与json格式之间的转换,已经附带fastjson的包,包的版本为fastjson-1.1.36.jar

    beanval2json:将 beanvalidation-annotations 转换为 JSON

    beanval2json 将转换为 JSON 以用于客户端验证。 这节课: package de.adorsys.beanval2json.test.model;public class Person implements Serializable { @Pattern(regexp = "[a-zA-Z]+", message = "Please enter ...

    java实现多层嵌套循环参数转换

    多层嵌套循环 参数转换 数据库配置报文父子级结构 java实现

    json相关jar包.zip

    JAVA数据转换为JSON格式 示例代码: JSON字符串和java对象的互转【json-lib】 在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML、JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很...

    详解json string转换为java bean及实例代码

    主要介绍了详解json string转换为java bean及实例代码的相关资料,这里提供实例代码帮助大家理解,需要的朋友可以参考下

    XmlToJson:Android库,用于将XML转换为JSON以及将JSON转换为XML

    XML to JSON是一个Android Studio库,可轻松将XML转换为JSON以及将JSON转换为XML 。 它是完全可配置的,因此您可以更改例如属性名称。 与gradle集成很容易。 XML到JSON 基本用法 有两种创建XmlToJson对象的方法:...

    Java常用工具包Jodd.zip

    Tools IoC MVC DB AOP TX JSON HTML < 1.5 MbJodd 被分成众多模块,按需选择,其中工具类模块有:jodd-core 一些工具类,包括Printf、JDateTime、StringUtil、Fast buffers等等jodd-bean BeanUtil以及类型检查转换...

    Java学习笔记-个人整理的

    {13.8}java.util.Date与java.sql.Date比较}{200}{section.13.8} {13.9}Meta Data}{201}{section.13.9} {13.10}可滚动结果集}{201}{section.13.10} {13.11}Procedure}{201}{section.13.11} {14}xml}{204}{...

    JAVA上百实例源码以及开源项目源代码

     Java实现的FTP连接与数据浏览程序,实现实例化可操作的窗口。  部分源代码摘录:  ftpClient = new FtpClient(); //实例化FtpClient对象  String serverAddr=jtfServer.getText(); //得到服务器地址  ...

    java解析json方法总结

    工具包org.json.jar,是一个轻量级的,JAVA下的json构造和解析工具包,它还包含JSON与XML, HTTP headers, Cookies, CDL的转换。 这里推荐使用:阿里巴巴FastJson是一个Json处理工具包,包括“序列化”和“反序列化...

    jackson-all 日期处理

    public <T extends Object>T getObjectByJson(String json,Class<T> arg1) { try { return mapper.readValue(json,arg1); } catch (Exception e) { e.printStackTrace(); } return null; }

    Java中驼峰与下划线相互转换

    public static String toCamelCase(String s) { if (s == null) { return null; } s = s.toLowerCase(); StringBuilder sb = new StringBuilder(s.length()); boolean upperCase = false; for (int i = 0; i ...

    JAVA上百实例源码以及开源项目

    百度云盘分享 ... Java实现的FTP连接与数据浏览程序,实现实例化可操作的窗口。  部分源代码摘录:  ftpClient = new FtpClient(); //实例化FtpClient对象  String serverAddr=jtfServer.getText();...

    java微信公众号MVC开发框架

    微信公众号采用web服务作为消息与第三方平台发生交互,数据格式主要是xml和json,普通的web请求响应机制采用xml数据格式交互,微信接口服务采用json数据格式。jwx主要对这两个方面做了封装处理,另外借鉴springmvc的...

    spring_MVC源码

    -- 把标记了@Controller注解的类转换为bean --> 12. <context:component-scan base-package="com.mvc.controller" /> 13. <!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 --> 14. <bean ...

    Can't find a codec for class java.math.BigDecimal.txt

    解决mongo数据插入时 报错问题 mogodb插入数据时报错Can't find a codec for class java.math.BigDecimal

Global site tag (gtag.js) - Google Analytics