0

因此,我正在开发一个将 JSON 对象发布到 Web 服务器的 Android 应用程序 (Java)。我已经实现了这一点,但我正在努力让字符串值正确显示。服务器接收的不是“6666666666666”,而是“Ljava.lang.String;@41108be0]”。我到底该如何解决这个问题?这是我的代码:

protected Boolean doInBackground(String... ID) {
HttpClient httpClient = new DefaultHttpClient();
Date dateTime = new Date();
string deviceID=null;
try {
HttpPost request = new HttpPost("http://192.168.1.89:80/");
JSONObject json = new JSONObject();
json.put("IDNo", ID.toString());
json.put("DTSent", dateTime);
json.put("DeviceID", deviceID);

StringEntity se = new StringEntity(json.toString(), "UTF-8");
se.setContentType("application/json; charset=UTF-8");
request.setEntity(se);
request.setHeader( "Content-Type", "application/json");
}

请帮忙。

4

2 回答 2

4

ID 是一个字符串数组,而不仅仅是一个字符串。...使它成为一个数组。所以要么使用ID[0]...从函数声明中删除

于 2013-06-12T13:06:43.840 回答
1

您正在传递一个字符串数组(看到三个点?)。尝试改用 ID[0]。

是一个有用的帖子:

于 2013-06-12T13:09:01.947 回答