将<objects>列表到Json文件</objects>

时间:2014-05-20 12:49:25

标签: java json jackson

拥有一个Object Field ,包含4个字段,如String,Integer和Date(时间戳)。然后是这些对象的List。

需要以json格式编写文件,映射对象的列表。我将独立更新json文件中的每个对象。

哪种方法最好?我玩过ObjectMapper但是无法实现这一点。

试过这个:

ObjectMapper mapper = new ObjectMapper();// this is Jackson
File file = new File("/parameter.json");
Map<String,Integer> parameters = new HashMap<String, Integer>();
for(Parameter par : Parameter.values()){
parameters.put(par.getName(),par.getValue1());
}
mapper.writeValue(file, parameters);

1 个答案:

答案 0 :(得分:-1)

你可以使用杰克逊。首先,您应该创建一个对象来保留所有这些字段。对象应该有getter / setter方法。然后,您可以使用ObjectMapper写入文件。

示例代码:

public class NewMain {

    public static void main(String[] args) {

        try {

            ObjectMapper mapper = new ObjectMapper();

            mapper.writeValue(new File("/parameter.json"), new YourObject(1, "some string", "another string"));
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
}

class YourObject {

    private int a;
    private String b;
    private String c;

    public YourObject(int a, String b, String c) {
        this.a = a;
        this.b = b;
        this.c = c;
    }

    public int getA() {
        return a;
    }

    public void setA(int a) {
        this.a = a;
    }

    public String getB() {
        return b;
    }

    public void setB(String b) {
        this.b = b;
    }

    public String getC() {
        return c;
    }

    public void setC(String c) {
        this.c = c;
    }

输出

{"a":1,"b":"some string","c":"another string"}