开发者

Inserting String variable into JSON which is in a form of String

I have a JSON payload saved as a String

String jsonBody = “{\n”
            + ” \“example\“: {\n”
            + ”  \“example\“: [\n”
            + ”   {\n”
            + ”    \“example\“: 100,\n”
            + ”    \“this_is_example_json_key\“: \“this_is_example_json_value\“,\n”

I created that by copying body from i.e Postman into

String jsonBody = "here I pasted the body";

Unfortunately I cannot have everything hardcoded there, so I have to change some values to variables. The JSON in postman looks like:

"this_is_example_json_key":"x"

And so on. Let's assume that:

String x = “this_is_example_json_value“;

If I just replace it like

+ ” \“this_is_example_json_key\“: \“ + x + \“,\n”

or something like that, the value in the body will be just this_is_example_json_value, where I need "this_is_example_json_value" (the "" marks are part of the value).

So the question is, how to set up those + / " in the String, so in the end in the value of the JSON I will end up with the value inside " ".

I've tried to play with the " / + but nothing of those were working. Variable must be passed with those " " because otherwise, the API is sendin开发者_C百科g back an error.


Don't try to build up JSON using strings. Use a proper JSON parser.

import org.json.JSONException;
import org.json.JSONObject;

public class Eg {
    public static void main(String[] args) throws JSONException {
        String x = "this_is_example_json_value";
        JSONObject example = new JSONObject();
        example.put("this_is_example_json_key", x);
        System.out.println(example.toString());
    }
}

Which outputs:

{"this_is_example_json_key":"this_is_example_json_value"}

With no messing around wondering what needs to be escaped.


you can use an extra " \ " "

    String x = "this_is_example_json_value";

    String jsonBody = "{\n"
            + "\"example\": {\n"
            + "  \"example\": [\n"
            + "  {\n"
            + " \"example\": 100,\n"
            + "\"this_is_example_json_key\":" + "\"" + x + "\"" + "\n }"
            +"\n  ]\n   }\n    }";

in this case you will get a json string

{
  "example": {
    "example": [
      {
        "example": 100,
        "this_is_example_json_key": "this_is_example_json_value"
      }
    ]
  }
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜