将JSON发送到服务器

时间:2014-04-10 15:09:35

标签: java android json activemq

我需要将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;
    }

}

1 个答案:

答案 0 :(得分:2)

String.valueOf(params)应为String.valueOf(params[0])它会为您提供一个地址内存,因为您表示一个String数组,而不是String本身