如何使用java更新对象JSON中的对象,然后发送到请求有效负载

时间:2016-03-22 09:02:33

标签: java json

我正在从文件中读取JSON对象。

我能够读取值但是如何更新有效负载的代码值

{
    "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);

但是这个值并没有改变我的需求数据

3 个答案:

答案 0 :(得分:3)

试试这个

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

答案 1 :(得分: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);

感谢Rama Krishan

答案 2 :(得分:1)

public void replaceJson()抛出JSONException     {         String json =“{\”products \“:{\”productsApp15 \“:{\”status \“:\”active \“,\”attribute_set \“:\”Apparel \“,\”name \“:\ “productsApp16 \”,\“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()); 
}'