相关疑难解决方法(0)

从HttpResponse得到json

HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://my.server:8080/android/service.php");


List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("action", "getjson"));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

HttpResponse response = httpclient.execute(httppost);
Run Code Online (Sandbox Code Playgroud)

service.php生成一个json字符串.我怎么从我的response?顺便说一句,我已经把GSON图书馆搞定了,我可以在其中使用任何方法吗?

类似于这个的解决方案看起来很丑陋,imo:从httpresponse android处理json的最佳方式

有更好的方法,对吧?

任何帮助表示赞赏,谢谢


更新:

String json = EntityUtils.toString(response.getEntity());
Run Code Online (Sandbox Code Playgroud)

似乎可以做到这一点.只有一个小问题:字符串用括号括起来[].我应该手动删除它们吗?它们是由php:s生成的json_encode()

java android json

26
推荐指数
1
解决办法
8万
查看次数

如何使用Android中的Volley库上传文件?

我已经有一个Request子类用于http发送到服务器.问题是,我不知道如何为文件添加参数.将字符串发布到服务器很容易.但我需要将文件添加为不同的参数.我该怎么做?

public class AddNewPetRequest extends Request<JSONObject> {

    private Response.Listener<JSONObject> listener;

    public AddNewPetRequest(String url, Map<String, String> params,
                                Response.Listener<JSONObject> reponseListener, Response.ErrorListener errorListener) {
        super(Request.Method.GET, url, errorListener);
        this.listener = reponseListener;
        this.params = params;
    }

    public AddNewPetRequest(int method, String url, Map<String, String> params,
                                Response.Listener<JSONObject> reponseListener, Response.ErrorListener errorListener) {
        super(method, url, errorListener);
        this.listener = reponseListener;
        this.params = params;
    }

    protected Map<String, String> getParams()
            throws com.android.volley.AuthFailureError {
        return params;
    };

    @Override
    protected Response<JSONObject> parseNetworkResponse(NetworkResponse response) {
        try {
            String jsonString = new String(response.data,
                    HttpHeaderParser.parseCharset(response.headers));
            return Response.success(new …
Run Code Online (Sandbox Code Playgroud)

android file http-post httprequest android-volley

17
推荐指数
1
解决办法
5万
查看次数

标签 统计

android ×2

android-volley ×1

file ×1

http-post ×1

httprequest ×1

java ×1

json ×1