java - 创建一个 JSON 对象

标签 java android json

我正在使用 Java 向服务器发出 JSON 请求。这是以下参数。

{method:'SearchBySearchConfiguration',params:[{{SearchCriteria:'%arriva',
 IsAccountSearch:true,IsContactSearch:false,SearchByName:true,SearchByAddress:false
 CRMTextValues:[], CRMCurrencyValues:[]}]}

我可以这样做。

 JSONObject json=new JSONObject();
 json.put("method", "SearchBySearchConfiguration"); 

如何将名称-值对中的其余参数添加到 JSON 对象?

提前致谢!

最佳答案

我能想到的一种方法是使用 org.json图书馆。我写了一个示例来构建您的请求对象的一部分:

public static void main(String[] args) throws JSONException {

    JSONObject jsonObject = new JSONObject();
    jsonObject.put("method", "SearchBySearchConfiguration");

    JSONArray jsonArray = new JSONArray();
    JSONObject innerRecord = new JSONObject();
    innerRecord.put("SearchCriteria", "%arriva");
    innerRecord.put("IsAccountSearch", true);

    jsonArray.put(innerRecord);
    jsonObject.put("params",jsonArray);

    System.out.println("jsonObject :"+jsonObject);

}

输出是:

jsonObject :{"method":"SearchBySearchConfiguration","params":[{"IsAccountSearch":true,"SearchCriteria":"%arriva"}]}

另一种技术是构建类似于您的请求结构的 Java 对象。然后您可以使用 Jackson 将其转换为 json库的 ObjectMapper 类。

在这两种情况下,一旦你得到json字符串,你就可以直接将它写到请求体中。

关于java - 创建一个 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12529326/

相关文章:

android - 滑动不起作用

java - 检查 Android 上的互联网连接

json - jq 转换 - json 子数组到分隔字符串

java - CustomComparator 排序对象错误

java - 具有多个类别的范围报告

android - 来自共享链接的 Dropbox 文件元数据

c# - 反序列化时是否有可能以某种方式捕获与任何 POCO 属性都不匹配的剩余 JSON 数据?

java - 无法调用请求(REST 调用)

java - 类中未引用库的错误

json - 在 GO 中将嵌套的 JSON 转换为 csv