asdfassdfa在江湖 2016-04-12 03:03 采纳率: 0%
浏览 1336

jackson1.7.6读取json数据求大牛补充下代码

package per.sww.eleven_five;

public class Glossary {
private String title;
private GlossDiv GlossDiv;

public String getTitle() {
    return title;
}
public void setTitle(String title) {
    this.title = title;
}
public GlossDiv getGlossDiv() {
    return GlossDiv;
}
public void setGlossDiv(GlossDiv glossDiv) {
    GlossDiv = glossDiv;
}

}

 package per.sww.eleven_five;

public class GlossDef {

    public GlossDef(String para) {
        this.para=para;
    }

    private String para;

    public String getPara() {
        return para;
    }

    public void setPara(String para) {
        this.para = para;
    }
}

package per.sww.eleven_five;

public class GlossDiv {

private String title;
private GlossList GlossList;
public String getTitle() {
    return title;
}
public void setTitle(String title) {
    this.title = title;
}
public GlossList getGlossList() {
    return GlossList;
}
public void setGlossList(GlossList glossList) {
    GlossList = glossList;
}

}

 package per.sww.eleven_five;

public class GlossEntry {
    private String ID;
    private String SortAs;
    private String GlossTerm;
    private String Acronym;
    private String Abbrev;
    private GlossDef GlossDef;
    private String GlossSee;
    public String getID() {
        return ID;
    }
    public void setID(String iD) {
        ID = iD;
    }
    public String getSortAs() {
        return SortAs;
    }
    public void setSortAs(String sortAs) {
        SortAs = sortAs;
    }
    public String getGlossTerm() {
        return GlossTerm;
    }
    public void setGlossTerm(String glossTerm) {
        GlossTerm = glossTerm;
    }
    public String getAcronym() {
        return Acronym;
    }
    public void setAcronym(String acronym) {
        Acronym = acronym;
    }
    public String getAbbrev() {
        return Abbrev;
    }
    public void setAbbrev(String abbrev) {
        Abbrev = abbrev;
    }
    public GlossDef getGlossDef() {
        return GlossDef;
    }
    public void setGlossDef(GlossDef glossDef) {
        GlossDef = glossDef;
    }
    public String getGlossSee() {
        return GlossSee;
    }
    public void setGlossSee(String glossSee) {
        GlossSee = glossSee;
    }
}

package per.sww.eleven_five;

public class GlossList {

private GlossEntry GlossEntry;

public GlossEntry getGlossEntry() {
    return GlossEntry;
}

public void setGlossEntry(GlossEntry glossEntry) {
    GlossEntry = glossEntry;
}

}

 package per.sww.eleven_five;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.codehaus.jackson.JsonEncoding;
import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.JsonParseException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

public class JasksonBean {
    private JsonGenerator jsonGenerator=null;
    private ObjectMapper objectMapper=null;
    private Glossary glossary=null;
    private GlossDef glossDef=null;
    private GlossDiv glossDiv=null;
    private GlossEntry glossEntry=null;
    private GlossList glossList=null;


    @Before
    public void init(){
        glossary=new Glossary();
        glossary.setTitle("example glossary");



#       **此处需补充(jackson版本为1.7.6,补充代码为去读json,json在最下面附上)**



        objectMapper =new ObjectMapper();
        try{
            jsonGenerator=objectMapper.getJsonFactory().createJsonGenerator(System.out,JsonEncoding.UTF8);
        }catch(IOException e){
            e.printStackTrace();
        }
    }

    @Test
    public void readJson2Entity() {
        try {
            Glossary glo = objectMapper.readValue(new File("d:" + File.separator + "a2.json"), Glossary.class);
            System.out.println(glo.getTitle());
            System.out.println(glo.getGlossDiv().getTitle());
            System.out.println(glo.getGlossDiv().getGlossList());
            System.out.println(glo.getGlossDiv().getGlossList().getGlossEntry());
            System.out.println(glo.getGlossDiv().getGlossList().getGlossEntry().getID());
            System.out.println(glo.getGlossDiv().getGlossList().getGlossEntry().getSortAs());
            System.out.println(glo.getGlossDiv().getGlossList().getGlossEntry().getGlossTerm());
            System.out.println(glo.getGlossDiv().getGlossList().getGlossEntry().getAcronym());
            System.out.println(glo.getGlossDiv().getGlossList().getGlossEntry().getAbbrev());
            System.out.println(glo.getGlossDiv().getGlossList().getGlossEntry().getGlossDef());
            System.out.println(glo.getGlossDiv().getGlossList().getGlossEntry().getGlossDef().getPara());
            System.out.println(glo.getGlossDiv().getGlossList().getGlossEntry().getGlossSee());
            System.out.println(glo);
        } catch (JsonParseException e) {
            e.printStackTrace();
        } catch (JsonMappingException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    @After
    public void putAfter(){
        try{
            if(jsonGenerator!=null){
                jsonGenerator.flush();
            }
            if(!jsonGenerator.isClosed()){
                jsonGenerator.close();;
            }
            jsonGenerator=null;
            objectMapper=null;
            glossary=null;
        }catch(IOException e){
            e.printStackTrace();
        }
    }
}

{
"glossary": {
"title": "example glossary",
"GlossDiv": {
"title": "S",
"GlossList": {
"GlossEntry": {
"ID": "SGML",
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Acronym": "SGML",
"Abbrev": "ISO 8879:1986",
"GlossDef": {
"para": "A meta-markup language, used to create markup languages such as DocBook."
},
"GlossSee": "markup"
}
}
}
}
}

  • 写回答

1条回答 默认 最新

  • 编程爱好者熊浪 2016-04-12 03:24
    关注

    }下一个 jackson-all-1.7.6.jar

    public static T mapperObject(String content, TypeReference typeRef) {
    ObjectMapper mapper = new ObjectMapper();
    //mapper.enableDefaultTyping();
    try {
    return mapper.readValue(content, typeRef);
    } catch (IOException e) {
    e.printStackTrace();
    return null;
    }
    }

    List<对象> 变量名= JacksonUtils.mapperObject(json数据,new TypeReference>() {
    });
    对象的属性为1,2,3,4;属性的值为100,200,300,400

    评论

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)