java编程

json解析与java对象序列化成json

字号+ 作者:zhuawa 来源:未知 2017-09-07 11:47 我要评论( )

今天封装接口对接出问题了。老是报不能序列化,之前写得一写东西都忘记了。今天记录下

json转java对象
 
{"licenseId":"xxxxxxxxxxxxxxxxxxxx","position":[{"address":"河北省唐山市开发区港兴大街"},{"address":"河北省唐山市馆"},{"address":"河北省唐山市乐亭路"}]} 

javabean代码

CommonPosition.java 类

public class CommonPostion implements Serializable {
 
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
 
    private String licenseId;
    
    private List<CommonPositionItem> position;
 
    public String getLicenseId() {
        return licenseId;
    }
 
    public void setLicenseId(String licenseId) {
        this.licenseId = licenseId;
    }
 
    public List<CommonPositionItem> getPosition() {
        return position;
    }
 
    public void setPosition(List<CommonPositionItem> position) {
        this.position = position;
    }
}
 
CommonPostionItem.java
 
package dms.core.srv.dto;
import java.io.Serializable;
/**
 * 常用位置item dto
 * @author xiaohua
 *
 */
public class CommonPositionItem implements Serializable {
 
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    
    private String address;
 
    public String getAddress() {
        return address;
    }
 
    public void setAddress(String address) {
        this.address = address;
    }
    
}

序列代码
 
当用下面代码转化java对象的时候,position对象,position对象并不会转换成CommonPositionItem对象,而会转化成net.sf.ezmorph.bean.MorphDynaBean
//object
       if(jsonContent.startsWith("{")){
           JSONObject json=JSONObject.fromObject(jsonContent);
           T object=(T) json.toBean(json, clazz);
           return object;
       }else{
           JSONArray array=JSONArray.fromObject(jsonContent);
        T list=(T) array.toArray(array,clazz);
           return list;
       }

代码修改
然后再序列化成json的时候回报找不到MorphDynaBean的序列化对象。现在改成了用Gson,就没事了
 public <T>  T toBean(Class<T> clazz) throws UnsupportedEncodingException{
       String jsonContent=getContent();
           Gson gson = new Gson();
           T object = gson.fromJson(jsonContent, clazz);
           return (T)object;
    }
    
    public <T>  List<T> toList(Class<T> clazz) throws UnsupportedEncodingException{
        String jsonContent=getContent();
            Gson gson=new Gson();
            @SuppressWarnings("unchecked")
            List<T> arrays=(List<T>)gson.fromJson(jsonContent, clazz);
            return arrays;
        }
 

转载请注明出处。

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

相关文章
  • jvm中class文件结构解析学习

    jvm中class文件结构解析学习

    2017-05-18 02:51

  • java动态绑定以及invokespecial指令

    java动态绑定以及invokespecial指令

    2017-06-19 14:57

  • java LinkedList数据结构

    java LinkedList数据结构

    2017-03-30 15:33

  • Jvm虚拟机学习一些基本概念

    Jvm虚拟机学习一些基本概念

    2017-05-18 11:12

网友点评
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)