【问题标题】:Passing json as a String将 json 作为字符串传递
【发布时间】:2020-08-28 06:39:30
【问题描述】:

对于像这样的 Json 主体

{
    "firstName": "hello",
    "lastName": "abc"
}

我写的是

JSONObject body = new JSONObject();

    
body.put("firstName", "hello");
body.put("lastName", "abc");

然后将正文转换为字符串以将其作为字符串参数传递

我怎样才能为 body 写同样的响应,例如

{
    "class": {
        "firstName": "hello",
        "lastName": "abc"
    }
}

之后我需要将json转换为字符串

【问题讨论】:

  • 如果你的 json 有明确的结构。然后你可能想采用课堂方法。这将使将来的更改变得更加容易和灵活。使用您想要的属性创建一个类,使用适当的注释对它们进行注释。用户 objectMapper 将结果类转换为字符串。

标签: java json string


【解决方案1】:

我认为这应该可以解决问题

    JSONObject innerBody = new JSONObject();
    innerBody.put("firstName", "hello");
    innerBody.put("lastName", "abc");

    JSONObject outerBody = new JSONObject();
    outerBody.put("class",innerBody);

【讨论】:

  • 太好了。你能接受这个作为答案吗?并投票,以便其他人也可以受益
【解决方案2】:

创建一个类:

public class DataSource {
    private String firstName;
    private String lastName;
    //Constructor, getter, setter
}

然后:

JSONObject body = new JSONObject();
DataSource data = new DataSource();
data.setFirstName("bla");
data.setLastName("bla bla");
body.put("class", data );

【讨论】:

    猜你喜欢
    • 2021-05-03
    • 1970-01-01
    • 2023-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多