2017-03-24 14 views
0

私はJavaを使用して、既存のJSONファイルにクラスオブジェクトを追加しようとしているが、次の出力取得しています:Javaで既存のJSONファイルに新しいクラスオブジェクトを追加する方法を追加しますか?

[{「EMAIL_ID」:「[email protected]」、「パスワード」:「パスワード を」 、 "USER_NAME": "Anubhavシン"}] { "EMAIL_ID": "[email protected]"、 "パスワード": "madhav1234"、 "USER_NAME": "マダブクマール"}

しかし予想される出力は次のようになります。

[{"email_id": "[email protected]"、 "パスワード": "パスワード "、 "user_name": "Anubhav Singh"}、{"email_id": "[email protected]"、 "password" : "madhav1234"、 "USER_NAME": "マダブ・クマール"}]

マイコード:

FileWriter file = new FileWriter("/home/anubhav55182/NetBeansProjects/Tweetoria/src/java/Signup/data.json",Boolean.TRUE);//output json file 
      JSONObject obj = new JSONObject();//for json file generation 
      obj.put("user_name",name); 
      obj.put("user_id",username); 
      obj.put("email_id",email); 
      obj.put("password",pass); 
      file.write(obj.toJSONString()); 
      file.flush(); 

誰かがJavaを使用して、既存のJSONファイルに新しいオブジェクトを追加するために私を助けてもらえます。

ご協力いただきありがとうございます。

+0

ファイルによって表されるJSONObjectに追加しませんが、あなたは直接ファイルに書き込むので、あなたは、上記の結果を得る - 基本的に、あなたのオブジェクトを追加しますファイルに追加します。それを変更したい場合は、まずファイルをJSONArrayとして解析し、次にJSONObjectを追加して配列を書き込む必要があります(あらかじめファイルをクリアする必要があります。そうしないと、再度追加されます) –

+0

最初にファイルからjson配列を解析し、このオブジェクトを解析された配列に追加します。その後、ファイルを書き換えます。 –

+0

これは設計通りには動作しません。既存のユーザーに保存された「ユーザー」を追加することはできません。これはリストに保存されません。 – slowy

答えて

2

現在、別のJSONObjectをファイルに追加しています。探している機能では、既存のファイル(email_id:[email protected])をJSONArrayとして読み込む必要があります。そこから、新しいオブジェクトを配列に追加できます。

ファイルとして配列を読み込み、追加する情報を(上記のように)JSONObjectに入れて、そのオブジェクトを配列に追加します。ここで

はJSONArrayに対するOracleのドキュメントです:http://docs.oracle.com/javaee/7/api/javax/json/JsonArray.html

+1

ありがとう@MyStackFlowethOver。 –

+0

私はあなたがJSONArrayについて正しいと思います。 –

関連する問題