为了账号安全,请及时绑定邮箱和手机立即绑定

JSONWriter 添加新行

JSONWriter 添加新行

繁星淼淼 2022-06-23 17:23:40
我想将几个 JSON 对象写入一个 txt 文件。为了获得更好的视图,我希望每个对象都位于不同的行中,并且存在我的问题:我不知道如何添加新行或分隔这些对象。这是我的代码:       JsonObjectBuilder builder = Json.createObjectBuilder();        builder.add("Item", item);        builder.add("Choice 1", idchoice1);        builder.add("Choice 2", idchoice2);       builder.add("Choice 3", idchoice3);       JsonObject jo = builder.build();       try {             FileWriter fw = new FileWriter("SelectedChoice.txt", true);             JsonWriter jsonWriter = Json.createWriter(fw);             jsonWriter.writeObject(jo);            jsonWriter.close();             fw.close();         } catch (IOException e) {             e.printStackTrace();         }我希望你能帮助我解决我的问题。谢谢大家!编辑:现在我已经看到我文件中的这个结构并不能解决我的问题。我想拆分保存在这个 txt 文件中的几个 JSON 字符串,我的代码只转换 JSON 对象中的第一个 JSON 字符串。这是我的代码:    try {       FileReader fr = new FileReader("SelectedChoice.txt");       BufferedReader br = new BufferedReader(fr);       String zeile ="";       while((zeile = br.readLine())!=null) {           System.out.println(zeile);           JSONObject choice = new JSONObject(zeile);           System.out.println(choice);       }       br.close();       fr.close();   } catch (FileNotFoundException e) {    e.printStackTrace();   } catch (IOException e) {    e.printStackTrace();   }我希望你能再次帮助我!
查看完整描述

1 回答

?
守着星空守着你

TA贡献1799条经验 获得超8个赞

您可以使用漂亮的打印选项:


   JsonObjectBuilder builder = Json.createObjectBuilder(); 

   builder.add("Item", item); 

   builder.add("Choice 1", idchoice1); 

   builder.add("Choice 2", idchoice2);

   builder.add("Choice 3", idchoice3);

   JsonObject jo = builder.build();

   try { 

        Map<String, Object> properties = new HashMap<>(1);

        properties.put(JsonGenerator.PRETTY_PRINTING, true);

        FileWriter fw = new FileWriter("SelectedChoice.txt", true);

        JsonWriterFactory writerFactory = Json.createWriterFactory(properties);

        JsonWriter jsonWriter = writerFactory.createWriter(fw);

        jsonWriter.writeObject(jo);

        jsonWriter.close(); 

        fw.close(); 

    } catch (IOException e) { 

        e.printStackTrace(); 

    }


查看完整回答
反对 回复 2022-06-23
  • 1 回答
  • 0 关注
  • 111 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信