2016-03-22 15 views
1

ファイルからJSONオブジェクトを読み取っています。オブジェクトJSONをjavaを使用して更新し、ペイロードを要求するために送信する方法

私は値を読み取ることができていますが、どのように私は私が使用しています私のペイロード

{ 
    "products": { 
     "productsApp15": { 
      "status": "active", 
      "attribute_set": "Apparel", 
      "name": "productsApp16", 
      "product_type": "product", 
      "code": "productsApp16" 
     } 
    } 
} 

輸入のためのコード値に更新することができます -

import java.io.FileNotFoundException; 
import java.io.FileReader; 
import java.io.IOException; 
import org.json.simple.JSONObject; 
import org.json.simple.parser.JSONParser; 
import org.json.simple.parser.ParseException; 
import java.util.Iterator; 
import java.io.FileWriter; 
import javax.json.JsonValue; 
import org.json.simple.JSONArray; 
import com.google.gson.Gson; 
import com.google.gson.GsonBuilder; 
import com.google.gson.JsonElement; 
import com.google.gson.JsonObject; 

マイコード: -

// read the json file 
      FileReader reader = new FileReader(filePath); 

      JSONParser jsonParser = new JSONParser(); 
      JSONObject jsonObject = (JSONObject) jsonParser.parse(reader); 

      JSONObject jsonObject1 = (JSONObject) jsonObject.get("products"); 
      JSONObject jsonObject2 = (JSONObject)jsonObject1.get("productsApp15"); 
      String firstName = (String) jsonObject2.get("code").toString(); 

      System.out.println("The first name is: " + firstName); 

しかし、この値は私の必要なデータを変更していません

答えて

2

を試してみてください: -

FileReader reader = new FileReader(filePath); 

    JSONParser jsonParser = new JSONParser(); 
    JSONObject jsonObject = (JSONObject) jsonParser.parse(reader); 

    JSONObject jsonObject1 = (JSONObject) jsonObject.get("products"); 
    JSONObject jsonObject2 = (JSONObject)jsonObject1.get("productsApp15"); 
    String firstName = (String) jsonObject2.get("code").toString(); 

    System.out.println("The first name is: " + firstName); 

    jsonObject2.remove("code"); 
    jsonObject2.put("code", "try"); 

    JSONObject jsonObject3 = (JSONObject)jsonObject1.get("productsApp15"); 
    String firstName2 = (String) jsonObject2.get("code").toString(); 
    System.out.println("The first name is: " + firstName2); 

ラマKrishanのおかげ

+0

答えが@Shubham Jain –

+0

はい、私は..私は2日前に自分自身の答えに答えることはできません..あなたの助けを感謝ラーマ –

3

私のために働いているコード以下は、この

JSONObject jsonObject1 = (JSONObject) jsonObject.get("products"); 
    JSONObject jsonObject2 = (JSONObject)jsonObject1.get("productsApp15"); 
    String firstName = (String) jsonObject2.get("code").toString(); 
+0

クールですが、同じ場所でどのように書き込み/更新できますか?私のペイロードのこの値を更新したいということを意味します –

+0

私はそれを得て、答えとして全体の解決策をここに入れます..ありがとう:)投票 –

+0

'public void replaceJson()throw JSONException { String "ステータス\":\ "アクティブ\"、\ "属性セット\":\ "アパレル\"、\ "名前\":\ "プロダクト\ "product \"、\ "product \"、\ "code \":\ "productsApp16 \"}}} "; JSONObject jsonObject =新しいJSONObject(json); JSONObject jsonObject1 =(JSONObject)jsonObject.get( "products"); JSONObject jsonObject2 =(JSONObject)jsonObject1.get( "productsApp15"); jsonObject2.put( "code"、 "try"); System.out.println(jsonObject.toString()); } ' –

1

ます。public void replaceJsonは、(){」= JSONException { 文字列のJSONをスローします\ "製品\":\ "製品\ 15:\"ステータス\ ":\"アクティブ\ "、\"属性セット\ ":\"アパレル\ "、\"名前\ "product_type \":\ "product \"、\ "code \":\ "productsApp16 \"}}} ";

JSONObject jsonObject = new JSONObject(json); 
    JSONObject jsonObject1 = (JSONObject) jsonObject.get("products"); 
    JSONObject jsonObject2 = (JSONObject) jsonObject1.get("productsApp15"); 
     jsonObject2.put("code", "try"); 
      System.out.println(jsonObject.toString()); 
}' 
関連する問題