第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > java url 双引号_java - Java在POST请求中发送带有转义双引号的JSON字符串[duplic

java url 双引号_java - Java在POST请求中发送带有转义双引号的JSON字符串[duplic

时间:2019-10-05 03:55:20

相关推荐

java url 双引号_java - Java在POST请求中发送带有转义双引号的JSON字符串[duplic

我正在创建一个JSONObject并将JSON字符串发送到POST请求正文中的服务器。

public String toJson() {

JSONObject filter = new JSONObject();

try {

filter.put("gender", gender.getCode());

filter.put("feature_id", productCategory);

} catch (JSONException e) {

e.printStackTrace();

}

JSONObject filterObject = new JSONObject();

try {

filterObject.put("filter", filter);

} catch (JSONException e) {

e.printStackTrace();

}

return filterObject.toString();

}

所以我正在创建一个请求:

private IJsonExecutorInterface requestExecutorForRelativePathAndParams(String path, WebParams params) throws UnsupportedEncodingException {

HttpPost postRequest = new HttpPost(rootUrl + path);

if(params != null) {

postRequest.setHeader("content-type", params.getContentType());

postRequest.setEntity(params.getFormEntity());

}

// Blah blah

return executor;

}

public IJsonExecutorInterface getProducts(ProductFilter filter, int offset, int limit) throws UnsupportedEncodingException {

WebParams webParams = new WebParams();

webParams.addPair("filter", filter.toJson());

webParams.addPair("offset", String.format("%d", offset));

webParams.addPair("limit", String.format("%d", limit));

return requestExecutorForRelativePathAndParams("products", webParams);

}

// WebParams class

public class WebParams {

private ArrayList params;

private String contentType = "application/x-www-form-urlencoded";

public WebParams() {

params = new ArrayList();

}

public void addPair(String name, String value) {

params.add(new BasicNameValuePair(name, value));

}

public String getContentType() {

return contentType;

}

public HttpEntity getFormEntity() throws UnsupportedEncodingException {

return new UrlEncodedFormEntity(params);

}

}

我在调试器中看到它:没关系。

但在我的服务器上我得到这样的东西:

Array

(

[filter] => {\"gender\":\"w\",\"feature_id\":\"41_7459\"}

[offset] => 0

[limit] => 18

)

报价已转义。

我不想替换服务器上的东西。 Java中的replace("\\\\\\"", "\\"")不会影响字符串。

java url 双引号_java - Java在POST请求中发送带有转义双引号的JSON字符串[duplicate] - 堆栈内存溢出...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。