HttpClient使用HttpGet进行json数据传输

  • Post author:
  • Post category:其他


项目中与对方进行数据交互时,对方提供了一套夸域json方式传递数据,并给出了一个js示例

Js代码

收藏代码


  1. $.getJSON(


  2. “http://www.—-aspx?callback=?”

    ,

  3. {Name:

    “123”

    ,Pass:

    “123”

    },


  4. function

    (json){


  5. if

    (json.UserId==

    null

    ){

  6. alert(

    “NO”

    );

  7. }

    else

    {

  8. alert(json.UserId);

  9. }

  10. }

  11. );

但是此方法处理数据时,只能在页面中进行,局限性很大。因此在具体实施时,使用了HttpClient来代替。

Java代码

收藏代码



  1. import

    java.io.InputStreamReader;


  2. import

    java.util.ArrayList;


  3. import

    java.util.List;



  4. import

    org.apache.http.HttpEntity;


  5. import

    org.apache.http.HttpResponse;


  6. import

    org.apache.http.HttpStatus;


  7. import

    org.apache.http.NameValuePair;


  8. import

    org.apache.http.client.HttpClient;


  9. import

    org.apache.http.client.methods.HttpGet;


  10. import

    org.apache.http.client.utils.URLEncodedUtils;


  11. import

    org.apache.http.impl.client.DefaultHttpClient;


  12. import

    org.apache.http.message.BasicNameValuePair;


  13. import

    org.apache.http.protocol.HTTP;


  14. import

    org.json.JSONException;


  15. import

    org.json.JSONObject;


  16. import

    org.json.JSONTokener;




  17. /**



  18. * 使用HttpClient请求页面并返回json格式数据.



  19. * 对方接收的也是json格式数据。



  20. * 因此使用HttpGet。



  21. * */



  22. public


    class

    Json {



  23. public


    static


    void

    main(String[] args)

    throws

    JSONException {


  24. JSONObject json =

    new

    JSONObject();

  25. List<NameValuePair> params =

    new

    ArrayList<NameValuePair>();

  26. params.add(

    new

    BasicNameValuePair(

    “Name”

    ,

    “123”

    ));

  27. params.add(

    new

    BasicNameValuePair(

    “Pass”

    ,

    “123”

    ));


  28. //要传递的参数.


  29. String url =

    “http://www.—-aspx?”

    + URLEncodedUtils.format(params, HTTP.UTF_8);


  30. //拼接路径字符串将参数包含进去


  31. json = get(url);

  32. System.out.println(json.get(

    “UserId”

    ));


  33. }



  34. public


    static

    JSONObject get(String url) {


  35. HttpClient client =

    new

    DefaultHttpClient();

  36. HttpGet get =

    new

    HttpGet(url);

  37. JSONObject json =

    null

    ;


  38. try

    {

  39. HttpResponse res = client.execute(get);


  40. if

    (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {

  41. HttpEntity entity = res.getEntity();

  42. json =

    new

    JSONObject(

    new

    JSONTokener(

    new

    InputStreamReader(entity.getContent(), HTTP.UTF_8)));

  43. }

  44. }

    catch

    (Exception e) {


  45. throw


    new

    RuntimeException(e);


  46. }

    finally

    {


  47. //关闭连接 ,释放资源


  48. client.getConnectionManager().shutdown();

  49. }


  50. return

    json;

  51. }

  52. }