精华内容
下载资源
问答
  • xml和java对象互转

    2014-07-16 11:21:23
    xml和java对象互转,带jar包,可以直接测试运行。
  • json与java对象互转

    2012-06-26 11:36:12
    json与java对象互转
  • 文章目录SpringMVC Json对象与java对象互转接收Json字符串,自动转化为java对象返回java对象,自动转化为Json字符串fastjson方式实现 SpringMVC Json对象与java对象互转 ​ SpringMVC原生方式依赖的是jackson/gson,...

    SpringMVC Json对象与java对象互转

    ​ SpringMVC原生方式依赖的是jackson/gson,使用这两种方式,只需要导入jar包即可。如果使用其他方式现Json与对象之间自动互转,需要在xml中配置转化器。

    • 接收Json字符串,自动转化为java对象

    • 返回java对象,自动转化为Json字符串

    • fastjson方式实现

      接收Json字符串,自动转化为java对象

      以jackson为例,导入jar包

      jackson-annotations-2.5.0.jar
      jackson-core-2.5.2.jar
      jackson-databind-2.5.2.jar
      

      前端传入一个json数据

      <input type="button" value="提交JSON数据" onclick="fun1();">
      	<script type="text/javascript">
      		function fun1(){
      			$.ajax({
      	              type: 'POST',
      	              url: "fun5",
      	              contentType: "application/json",//如果想以json格式把数据提交到后台的话,这个必须有,否则只会当做表单提交
      	              data: JSON.stringify({"id":66,"name":"lisi","address":"sz"}),//JSON.stringify()必须有,否则只会当做表单的格式提交
      	              dataType: "json",//期待返回的数据类型
      	              success: function(data){
      	                  alert("success:"+data);
      	              },
      	              error:function(data){
      	                  alert("error"+data); 
      	              }
      	            });
      		}
      	</script>
      

      通过control中的方法接收

      	/**
      	 * 接收客户端提交的json数据
      	 *    注意:
      	 *        1.客户端提交的json数据必须是post方式提交
      	 *        2.在接收数据的形参前我们需要添加@RequestBody
      	 */
      	@RequestMapping("/fun5")
      	@ResponseBody
      	public String fun5(@RequestBody User user){
      		System.out.println(user);
      		return "ok";
      	}
      

      前台页面

      image.png

      控制台输出

      image.png

    返回java对象,自动转化为Json字符串

    返回各种类型的java对象,自动转化为json字符串。

    方法举例

    	/**
    	 * 返回一个JSONObject
    	 * @return
    	 */
    	@RequestMapping("/fun1")
    	@ResponseBody
    	public User fun1(){
    		return new User(12,"张三","宝安");
    	}
    	
    	/**
    	 * 返回一个JSONArray
    	 * @return
    	 */
    	@RequestMapping("/fun2")
    	@ResponseBody
    	public List<String> fun2(){
    		return Arrays.asList("张三","李四","王五");
    	}
    	
    	/**
    	 * 数组的类型是自定义对象
    	 * @return
    	 */
    	@RequestMapping("/fun3")
    	@ResponseBody
    	public List<User> fun3(){
    		return Arrays.asList(new User(12,"张三","宝安"),new User(13,"张三1","宝安1"),new User(14,"张三2","宝安2"));
    	}
    	
    	/**
    	 * 数组的类型是自定义对象
    	 * @return
    	 */
    	@RequestMapping("/fun4")
    	@ResponseBody
    	public Map<String, Object> fun4(){
    		Map<String, Object> map = new HashMap<>();
    		map.put("total", 100);
    		map.put("rows", Arrays.asList(new User(12,"张三","宝安"),new User(13,"张三1","宝安1"),new User(14,"张三2","宝安2")));
    		return map;
    	}
    

    页面输出

    返回对象自动转json

    image.png

    返回list自动转json

    image.png

    返回list自动转json

    image.png

    返回Map<String, Object>自动转json

    image.png

    总结:从json对象转java对象,导入相关jar包并在形参类型前加注解 @RequestBody

    返回java对象自动转json对象,导入相关jar包在方法上注解 @ResponseBody

    项目打包 提取码:7yx1 环境:eclipse

    fastjson方式实现

    导入jar包

    fastjson-1.2.47.jar
    

    在springmvc.xml中添加转换器

    <!-- 开启SpringMVC注解 -->
    	<mvc:annotation-driven  >
    		<!-- 添加fastjson的转换器 -->
    		<mvc:message-converters>
    			<bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter"></bean>
    		</mvc:message-converters>
    	</mvc:annotation-driven>
    

    其余操作与jactson方式实现一样。

    项目打包 提取码:8ksg 环境:eclipse

    展开全文
  • Java中,使用jackson完成json与Java对象互转
  • java对象与json字符串相互转换
    //主要包com.alibaba.fastjson.JSON
    //将java对象转换成json字符串
    String jsonString = JSON.toJSONString(JAVA.Object);
    //将json字符串转换为json对象
    JSON json = (JSON) JSON.parse(jsonString);
    //将json对象转换为JAVA对象
    JAVA java= JSON.toJavaObject(json, JAVA.class);
    综上,java对象可以直接转为json字符串,但是json字符串必须先要转换为json对象然后在转为java对象
    尴尬了  今天刚看到可以直接使用
    JSON.parseObject(result, java.class);
    直接获得java对象
    

    展开全文
  • 首先需要加入POM依赖 一、实例化一个 json对象类型和 json数组对象类型  二、json java对象 准备好Java对象类 三、Java对象转json字符串

    首先需要加入POM依赖

    一、实例化一个 json对象类型和 json数组对象类型 

    二、json 转 java对象

    准备好Java对象类

    三、Java对象转json字符串

    展开全文
  •  这种错误就是xml转对象的时候不识别造成的,需要在对应的对象或字段上加上别名namespace  (就是你报错信息中的uri)即可。 这个错误花了一天多才理清,嗯现在是凌晨3点   感谢偶然间看到这个 帖子 和这...
    public class JaxbXmlUtil {
        private static final String DEFAULT_ENCODING = "UTF-8";
        /**
         * pojo转换成xml 默认编码UTF-8
         */
        public static String convertBeanToXml(Object obj) throws Exception {
            return convertBeanToXml(obj, DEFAULT_ENCODING);
        }
        /**
         * pojo转换成xml
         */
        public static String convertBeanToXml(Object obj, String encoding) throws Exception {
            String result;
            JAXBContext context = JAXBContext.newInstance(obj.getClass());
            Marshaller marshaller = context.createMarshaller();
            // 生成报文的格式化
            marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
            marshaller.setProperty(Marshaller.JAXB_ENCODING, encoding);
            StringWriter writer = new StringWriter();
            marshaller.marshal(obj, writer);
            result = writer.toString();
            return result;
        }
        /**
         * xml转换成pojo
         */
        @SuppressWarnings("unchecked")
        public static <T> T convertXmlToJavaBean(String xml, Class<T> t) throws Exception {
            T obj;
            JAXBContext context = JAXBContext.newInstance(t);
            Unmarshaller unmarshaller = context.createUnmarshaller();
            obj = (T) unmarshaller.unmarshal(new StringReader(xml));
            return obj;
        }
    }
    
    public class TestJaxbClass {
    
        /**
         * 调用示例
         */
        public static void main(String[] args) {
            String respXml = "xml报文";
            // 将返回报文转成对象 (ResponseDTO 修改成你需要的对象)
            ResponseDTO respDTO = JaxbXmlUtil.convertXmlToJavaBean(respXml, ResponseDTO.class);
               
        }
    }
    
    jaxb:xml和pojo相互转换,上面这种工具类就不说了,看代码就行  这次主要是soapXML请求webservice接口,返回报文再进行解析。
    本来使用的wsdl直接生成客户端代码,但由于种种原因最后选择了org.apache.commons.httpclient 调用webservice的接口
    就想仿照生成的客户端代码自己写下转换 
    
    这里主要说一下使用时需要注意的地方(这次遇到的两个坑) pojo---》soapXML: 
    
        1: 需要用到xml格式的时间时注意中间有个T 如:<trxDate>2017-11-05T02:57:56</trxDate> 转换的时候注意下边的name 
           值为dateTime ,切不可写成date
           @XmlSchemaType(name = "dateTime") 
           protected XMLGregorianCalendar trxDate;
    
        2: 生成的soap XML报文如果有多个xmlns:的情况,请检查pojo里面字段或引入对象的namespace
        
        3: 如果有别名需要,请注意 @XmlElement 的name自定义
        
    soapXML---》:pojo
        1:javax.xml.bind.UnmarshalException: unexpected element (uri:"", local:"xxx")
         这种错误就是xml转对象的时候不识别造成的,需要在对应的对象或字段上加上别名namespace
         (就是你报错信息中的uri)即可。 这个错误花了一天多才理清,嗯现在是凌晨3点
     

    感谢偶然间看到这个 帖子 和这个 博客

    展开全文
  • JAXB:xml与java对象互转

    千次阅读 2017-07-01 15:51:54
    JaxbContext生成xml文件或java类对象转化注解 JAXB提供了一个快速便捷的方式将Java对象与XML进行转换。在JAX-WS(Java的WebService规范之一)中,JDK1.6 自带的版本JAX-WS2.1,其底层支持就是JAXB。 JAXB 可以实现...
  • import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Inherited; import java.lang.annotation.Retention; import java.lang.annotation....
  • Json与Java对象互转之Gson学习

    千次阅读 2014-09-29 19:21:43
    Json与Java对象互转之Gson学习    我曾在《 XML,Object,Json转换之浅析Xstream的使用 》一文中介绍过使用XStream进行XML,Object,Json之间的转换,虽然 XStream内置了对Json的支持,但是效果不是...
  • import java.io.*; import java.util.Optional; public class ByteArrayUtils { public static&lt;T&gt; Optional&lt;byte[]&gt; objectToBytes(T obj){ byte[] bytes = null; ByteArrayOut.....
  • Json字符串与java对象互转

    千次阅读 2015-11-21 22:49:13
    * java对象转字符串可以使用JSONArray或JSONObject. * @author:bao * @date:Dec 24, 2011 * @see JSONArray */ public class JsonUtil { /** * @Description:POJOJson字符串 * @param obj * @return ...
  • Fastjson是一个Java语言编写的高性能功能完善的JSON库(JSON处理器,解析类库)。 1、遵循http://json.org标准,为其官方网站收录的参考实现之一。 2、功能强大,支持JDK的各种类型,包括基本类型、JavaBean、...
  • 一、什么是 Json ... 易于人阅读和编写。同时也易于机器解析和生成。它基于 JavaScript Programming Language, Standard ECMA-262 3rd Edition - ...Json-lib 是一个 Java 类库(官网:http://json-lib.sourceforge.net/
  • java对象 json对象 互转jar包

    千次阅读 2017-05-12 11:54:23
    java对象 json对象 互转jar包   net.sf.json-lib  json-lib  2.4  jdk15
  • 下面小编就为大家带来一篇基于JSON和java对象互转方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 主要介绍了JAVA对象和字节数组互转操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • XML和java类对象互转 ,XML可以转成JAVA对象 ,JAVA对象可以转成XML.
  • Java对象和Json对象互转采购的Gson方式所需要的jar包,内容包含四个所需要的jar包,解压后直接复制到项目的web-inf下的lib文件夹下,右键导入到项目中即可使用
  • JAVA对象与XML互转

    2012-11-15 22:45:19
    java对象转xml
  • 主要介绍了java中map和对象互转工具类的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • java中map和对象互转工具类

    万次阅读 多人点赞 2019-01-05 13:33:41
    在项目开发中,经常碰到map转实体对象或者对象转map的场景,工作中,很多时候我们可能比较喜欢使用第三方jar包的API对他们进行转化,而且用起来也还算方便,比如像fastJson就可以轻松实现map和对象互转,但这里,...
  • Gson这个Java类库可以把Java对象转换成JSON,也可以把JSON字符串转换成一个相等的Java对象。Gson支持任意复杂Java对象包括没有源代码的对象。
  • 使用json-lib实现json与Java对象互转
  • json对象与java对象互转

    千次阅读 2013-12-16 16:12:55
    务必引入jar包:json-lib-2.2.2-jdk15.jar。 代码如下: import net.sf.json.JSONObject; import ... //java2json String data = JSONObject.fromObject(Object obj).toString(); System.out.println
  • JSONObject与JSONArray的区别就是前者是对象形式,后者是数组形式。 一.创建JSONObject 1.使用JSONObject直接创建 JSONObject js1=new JSONObject(); js1.put("ID","test"); js1.put(&...
  • java对象和xml互转

    千次阅读 2016-08-10 13:18:40
    该过程中,JAXB也提供了将XML实例文档反向生成Java对象树的方法,并能将Java对象树的内容重新写到XML实例文档。从另一方面来讲,JAXB提供了快速而简便的方法将XML模式绑定到Java表示,从而使得Java开发者在Java应用...
  • 该过程中,JAXB也提供了将XML实例文档反向生成Java对象树的方法,并能将Java对象树的内容重新写到XML实例文档。从另一方面来讲,JAXB提供了快速而简便的方法将XML模式绑定到Java表示,从而使得Java开发者在Java应用...
  • import com.alibaba.fastjson.JSONObject; ... Gson g = new Gson(); Notice notice = g.fromJson(s, Notice.class); //json字符串转java对象 需要的是Gson /*这里需要强转一下 默认是Object JSONObject...
  • Java对象和json互转Date类型的处理

    万次阅读 2018-09-06 15:29:13
    &amp;amp;nbsp;&amp;amp;nbsp;&...遇到了该Case对象中有多个Date类型的字段,我又不想麻烦的将所有Date成String类型,再生成JSON,最后鼓捣了一下午,在网上找到了解决方法。 使用n

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 50,512
精华内容 20,204
关键字:

java对象互转

java 订阅