gpt4 book ai didi

java - 用java写一个json文件

转载 作者:搜寻专家 更新时间:2023-11-01 04:05:42 24 4
gpt4 key购买 nike

我想用 java 编写一个 json 文件,但它不起作用,我收到此警告:我想知道如何执行此操作,因为我要将选项卡式的 cfg 文件转换为 json。

Type safety: The method add(Object) belongs to the raw type ArrayList. References to generic type ArrayList<E> should be parameterized

我有这段代码:

package json;  

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

import org.json.simple.JSONArray;
import org.json.simple.JSONObject;

public class JsonWriter {

public static void main(String[] args) {

JSONObject countryObj = new JSONObject();
countryObj.put("Name", "India");
countryObj.put("Population", new Integer(1000000));

JSONArray listOfStates = new JSONArray();
listOfStates.add("Madhya Pradesh");
listOfStates.add("Maharastra");
listOfStates.add("Rajasthan");

countryObj.put("States", listOfStates);

try {

// Writing to a file
File file=new File("JsonFile.json");
file.createNewFile();
FileWriter fileWriter = new FileWriter(file);
System.out.println("Writing JSON object to file");
System.out.println("-----------------------");
System.out.print(countryObj);

fileWriter.write(countryObj.toJSONString());
fileWriter.flush();
fileWriter.close();

} catch (IOException e) {
e.printStackTrace();
}

}
}

最佳答案

我建议您只用您的对象创建一个简单的 ArrayList,然后使用序列化程序将它们序列化为 JSON(在下面的示例中使用 Jacksoin 库)。它看起来像这样:

首先,在一个类中定义您的模型(为了便于阅读而没有封装):

public class Country{
public String name;
public Integer population;
public List<String> states;
}

然后您可以继续创建它,并填充列表:

import java.io.File;
import java.io.IOException;
import org.codehaus.jackson.JsonGenerationException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;

public class JsonWriter {

public static void main(String[] args) {

Country countryObj = new Country();
countryObj.name = "India";
countryObj.population = 1000000;

List<String> listOfStates = new ArrayList<String>();
listOfStates.add("Madhya Pradesh");
listOfStates.add("Maharastra");
listOfStates.add("Rajasthan");

countryObj.states = listOfStates ;
ObjectMapper mapper = new ObjectMapper();

try {

// Writing to a file
mapper.writeValue(new File("c:\\country.json"), countryObj );

} catch (IOException e) {
e.printStackTrace();
}

}
}

关于java - 用java写一个json文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31728446/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com