如何使用JSON.simple在.json文件中制作多行代码?

时间:2018-08-01 19:09:51

标签: java json

这可能是非常愚蠢的,但是我想知道如何创建一个像这样的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

1 个答案:

答案 0 :(得分:0)

例如,您可以仅使用obj.toString(4)缩进4个空格。 JSONObject有一个重载的toString()方法,该方法接受缩进参数,从而漂亮地打印JSON。

来自Javadocs。我在这里引用以供您参考。

public java.lang.String toString(int indentFactor) throws JSONException

  

对此JSONObject进行漂亮打印的JSON文本。   警告:此方法假定数据结构是非周期性的。

     

参数

     

indentFactor -要添加到每个缩进级别的空格数。

     

返回:   对象的可打印,可显示,可移植,可传输的表示形式,以{(左括号)开始,以}(右括号)结束。