这可能是非常愚蠢的,但是我想知道如何创建一个像这样的json文件:
{
"aString":"foo",
"anArray":
[
"foo",
"bar",
"obj"
],
"anInteger":100
}
代替此:{"aString":"foo","anArray":["foo","bar","obj"],"anInteger":100}
以下是创建第二个代码的代码:
public class Main
{
public static final String defDir = "C:\\Users\\*UserName*\\Desktop\\Java\\Test\\src\\Files\\";
public static void main(String[] args) {
JSONObject obj = new JSONObject();
obj.put("aString", "foo");
obj.put("anInteger", 100);
JSONArray list = new JSONArray();
list.add("foo");
list.add("bar");
list.add("obj");
obj.put("anArray", list);
try (FileWriter file = new FileWriter(defDir + "test.json"))
{
file.write(obj.toString());
file.flush();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
以及如何使用JSON.simple读取多行json
答案 0 :(得分:0)
例如,您可以仅使用obj.toString(4)
缩进4个空格。 JSONObject有一个重载的toString()
方法,该方法接受缩进参数,从而漂亮地打印JSON。
来自Javadocs。我在这里引用以供您参考。
public java.lang.String toString(int indentFactor) throws JSONException
对此JSONObject进行漂亮打印的JSON文本。 警告:此方法假定数据结构是非周期性的。
参数:
indentFactor -要添加到每个缩进级别的空格数。
返回: 对象的可打印,可显示,可移植,可传输的表示形式,以{(左括号)开始,以}(右括号)结束。