java - Json格式错误显示

标签 java json formatting

我正在尝试以下列格式显示 JSON 文件。但是当我运行我的程序时,它会在底部显示顶部。为什么是这样?我这样做正确吗?请在代码下方找到输出图片和预期输出。

代码:

public class Student {

    public static void main(String[] args) {

        int a = -7;
        int b = 7;
        int k = 103;
        int order = 109;
        int px = 60;
        int py = 76;
        int qx = 101;
        int qy = 42;
        int n = 3;
        int rx = 2;
        int ry = 102;
        int sx = 64;
        int sy = 17;

         JSONObject obj = new JSONObject();
         obj.put("name", "JEAN-LUC PALMYRE");
         obj.put("srn", "120299364");


        JSONObject objEcc = new JSONObject();
         objEcc.put("a",a);
         objEcc.put("b",b);
         objEcc.put("k",k);
         objEcc.put("order",order);

         obj.put("ecc", objEcc);

         JSONObject objModk_add = new JSONObject();
         objModk_add.put("x", px);
         objModk_add.put("y", py);

         obj.put("p", objModk_add);

         objModk_add.put("x", qx);
         objModk_add.put("y", qy);

         obj.put("q", objModk_add); 

         objModk_add.put("x", rx);
         objModk_add.put("y", ry);

         obj.put("r", objModk_add); 

         JSONObject objModk_mul = new JSONObject();
         objModk_mul.put("x", px);
         objModk_mul.put("y", py);

         obj.put("p", objModk_mul);


        try (FileWriter file = new FileWriter("Jean-LucPalmyre_120299364_CO3326_cw1.json")) 
        {

            file.write(obj.toJSONString());
            file.flush();

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

        System.out.print(obj);

    }
}

输出:

Output

预期输出:

Expected output

最佳答案

我认为这与 JSONObject 实际上使用 Map 作为其表示这一事实有关,并且不能保证保留 Map 中值的顺序。

关于java - Json格式错误显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42123219/

相关文章:

java - Spring MVC 项目的 .war 文件无法在 jetty 服务器中使用 JRE 进行部署

java - 如何摆脱这个 java.io.EOFException?

java - 无法将 Json 漂亮地打印到文本文件

json - 将 http 响应从 Node 映射到 json 文件

c - printf float 以尾随零的数量作为变量

android - 我如何格式化解析并传递给 editText 的数字?

java - IntelliJ 和控制台输出颜色

java - 如何测试文件是否在Java中打开?

json - 在 Swift 5.1 中循环多维/嵌套 JSON 数据

python - python中的数字格式