JSONObject obj = new JSONObject();
obj.put("name","foo");
StringWriter out = new StringWriter();
obj.writeJSONString(out);
String jsonText = out.toString();//JSON object is converted to string
public String getQueryParamsFromObject(String baseUrl, Object obj) {
JsonElement json = new Gson().toJsonTree(obj);
// Assumption is that all the parameters will be json primitives and there will
// be no complex objects.
return baseUrl + json.getAsJsonObject().entrySet().stream()
.map(entry -> entry.getKey() + "=" + entry.getValue().getAsString())
.reduce((e1, e2) -> e1 + "&" + e2)
.map(res -> "?" + res).orElse("");
}
6条答案
按热度按时间yiytaume1#
URL编码您的详细信息参数:
vc6uscn92#
需要将
JSON object
转换为字符串现在,您可以将此
jsonText
作为参数传递。bvpmtnay3#
我们可以使用GSON将Object转换为JSON Object,然后解析JSON对象并将其转换为查询参数字符串。Object应该只包含基本对象,如int,float,string,enum等。否则,您需要添加额外的逻辑来处理这些情况。
bxgwgixi4#
Json2可以帮助。
JSON.stringify(obj)
cvxl0en25#
我们可以使用
Gson
的帮助NB:Gson需要的jar文件
pn9klfpd6#
我想补充一下我的解决方案: