java - 将 NameValuePair 分隔符从 '=' 更改为 ':'

标签 java android httprequest

我正在尝试发送一个 HttpPost 请求,为此,据我所知,您可以这样做:

            HttpClient httpClient = new DefaultHttpClient(); 
            HttpPost post = new HttpPost(uri[0]); 
            try {
                List<NameValuePair> nvp = new ArrayList<NameValuePair>(); 
                nvp.add(new BasicNameValuePair("{\"UserName\"", "\"michigan\""));
                nvp.add(new BasicNameValuePair("\"Password\"", "\"fanaddicts\""));
                nvp.add(new BasicNameValuePair("\"DeviceHarwareId\"", "\"NW58xfxz/w+jCiI3E592degUCL4=\""));
                nvp.add(new BasicNameValuePair("\"DeviceTypeId\"", "\"1\"}"));
                post.setEntity(new UrlEncodedFormEntity(nvp));

                response = httpClient.execute(post); 

                Log.i("Feed Response", "Feed: " + response.getStatusLine().getStatusCode()); 

            } catch (UnsupportedEncodingException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (ClientProtocolException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } 

我遇到的问题是实体看起来像这样:

[{"UserName"="michigan", "Password"="fanaddicts", "DeviceHarwareId"="NW58xfxz/w+jCiI3E592degUCL4=", "DeviceTypeId"="1}]

但是由于服务器的设置方式,我需要它看起来像这样:

[{"UserName":"michigan", "Password":"fanaddicts", "DeviceHarwareId":"NW58xfxz/w+jCiI3E592degUCL4=", "DeviceTypeId":"1}]

您会注意到,键/值对之间用冒号 (:) 分隔,而不是等号 (=)。

我的问题是:我该如何解决这个问题?

最佳答案

您可以考虑使用 JSONObject而不是 UrlEncodedFormEntity——因为它看起来像你想要一个 JSON 字符串,而不是一个 URL 编码的字符串。

关于java - 将 NameValuePair 分隔符从 '=' 更改为 ':',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18936608/

相关文章:

java - 从输入流中解析 multipart/form-data 的库和示例

java - 什么时候写入访问日志?

java - 我的教授在 setter 中跳过了一个变量,他在编写的代码中是否犯了错误?

java - 如何从服务器获取对象数组

java - 如何获得可能只给出叶证书的证书链?

java - AIDE 应用程序的问题

android - 隐藏没有完成的 Activity ()

android - getSupportFragmentManager().findFragmentById 在 GoogleMap 上返回 null

google-maps - 自定义标记图标未显示 Google 静态 map v2

java - 如何使用Java 11标准HTTPClient测量异步发送HTTP请求的耗时?