我需要将JSON对象作为String发送到我的服务器,我这样做了:
json.put("TYPE", "1");
json.put("CODE", "0");
json.put("NODEID", id);
json.put("TSTAMP", mtemporal);
json.put("XPOS", lastx);
json.put("YPOS", lasty);
json.put("HDOP", "");
telo=json.toString();
其中telo是一个String。当我在服务器上发送telo时,我得到了这个:
Object {command: "MESSAGE", headers: Object, body: "[Ljava.lang.String;@429106c0", id: undefined, receipt: undefined…}
问题是在body中应该出现json对象并出现类似地址内存
的内容我该如何解决?
Thansk
[编辑]
我更新帖子..我发送Json对象,真的是一个字符串,使用Gozirra API,允许连接并使用STOMP协议将数据发送到activemq服务器
更多代码:
public void send(float lastx,float lasty,String id,String mtemporal) {
try {
json.put("TYPE", "1");
json.put("CODE", "0");
json.put("NODEID", id);
json.put("TSTAMP", mtemporal);
json.put("XPOS", lastx);
json.put("YPOS", lasty);
json.put("HDOP", "");
telo=json.toString();
}
catch (JSONException e) {
e.printStackTrace();
}
new Send().execute(telo);
}
public class Send extends AsyncTask<String, Void, Void> {
@Override
protected Void doInBackground(String... params) {
Log.i("telo", "estoy para enviar");
c.begin();
c.send("/topic/LOCATIONJSON", String.valueOf(params));
c.commit();
return null;
}
}
答案 0 :(得分:2)
String.valueOf(params)
应为String.valueOf(params[0])
它会为您提供一个地址内存,因为您表示一个String数组,而不是String本身