JAVA通过json发送/接收信息

时间:2012-07-17 17:35:04

标签: java json

我一直在研究如何通过json过去3天向网址发送和接收信息。我已经找到了很多关于如何做的文档和代码示例,我无法理解他们在说什么。我已经导入上帝知道有多少.jar文件到我的eclipse包中。有没有人有一个很好的例子,如何连接到网址,发送/接收信息(甚至登录),解析它,并发送更多信息?我明白我要求很多。我不需要所有的答案,良好的文档和一些好的例子会让我太开心。

2 个答案:

答案 0 :(得分:3)

http://hc.apache.org/开始 然后看看http://code.google.com/p/google-gson/ 或:http://wiki.fasterxml.com/JacksonHome

这应该是你所需要的一切。

答案 1 :(得分:0)

在此博客http://www.gnovus.com/blog/programming/making-http-post-request-json-using-apaches-httpclient

上找到了一个非常可靠的例子

如果由于某种原因链接无效,请粘贴在下面。

public class SimpleHTTPPOSTRequester {

private String apiusername;
private String apipassword;
private String apiURL;

public SimpleHTTPPOSTRequester(String apiusername, String apipassword, String apiURL) {        
    this.apiURL = apiURL;
    this.apiusername = apiusername;
    this.apipassword = apipassword;
}

public void makeHTTPPOSTRequest() {
    try {
        HttpClient c = new DefaultHttpClient();        
        HttpPost p = new HttpPost(this.apiURL);        

        p.setEntity(new StringEntity("{\"username\":\"" + this.apiusername + "\",\"password\":\"" + this.apipassword + "\"}", 
                         ContentType.create("application/json")));

        HttpResponse r = c.execute(p);

        BufferedReader rd = new BufferedReader(new InputStreamReader(r.getEntity().getContent()));
        String line = "";
        while ((line = rd.readLine()) != null) {
           //Parse our JSON response               
           JSONParser j = new JSONParser();
           JSONObject o = (JSONObject)j.parse(line);
           Map response = (Map)o.get("response");

           System.out.println(response.get("somevalue"));
        }
    }
    catch(ParseException e) {
        System.out.println(e);
    }
    catch(IOException e) {
        System.out.println(e);
    }                        
}    
}