如何使用httpClient将json文件包含在请求体中? 我的Json:
{
"products": {
"product": {
"sku": "100",
"varientsku": "0",
"mrp": "5,300",
"webprice": "5,220",
”inventory”: ”25”
}
}
}
我的代码:
public static void main(String args[])
{
uri=//url
JSONObject json=new JSONObject();
json.put("sku", "100");
json.put("mrp", "12121");
json.put("inventory", "2525");
JSONObject product=new JSONObject();
product.put("product", json);
JSONObject products=new JSONObject();
products.put("products", product);
HttpPost postRequest=new HttpPost(uri);
postRequest.addHeader("accept", "application/json");
postRequest.setHeader("ContentType", "application/json");
postRequest.setEntity(new StringEntity(products.toString(), "UTF-8"));
HttpResponse response=httpClient.execute(postRequest);
}
答案 0 :(得分:0)
将文件读入内存并对其进行json_encode。
在javascript中:
var json = JSON.stringify(file);
在c#中:
var serializer = new JavaScriptSerializer();
string json = serializer.Serialize(file);
然后你拥有的是一个包含文件中所有信息的字符串。像传递任何字符串信息一样传递它。然后当你处理它(大概是在PHP?),json_decode它,
$jsonObject = json_encode($data['body']);
我希望这对您的问题有所帮助。如果没有,请提供更多信息,例如您使用的语言,以及您使用httpClient的目的。信息越多越好。
~~请求更新~~
对于Java,似乎人们建议使用Apache的HttpClient库:HERE,查看本教程的前几章,看看它是否是你想要的。您也可以在该网站上下载这些库。
对于简单请求,有些人会使用oracle的HttpURLconnection(找到HERE)示例:
URL url = new URL("http://example.com");
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.setRequestMethod("GET");
connection.connect();
InputStream stream = connection.getInputStream(); //read the contents using an InputStreamReader
我发现了这些信息HERE