数据正常取到了,得到的是一个Object对象,直接.toString()输出的话是这样的格式:
{userid=80,data=[Ljava.lang.Object;@445346,prev=0,next=9756]}
这样的,现在我要怎么对这种数据进行分析?或者说这种数据如果要分析的话,要用什么类型来转换?查了很多资料,都只是发起请求,但都没有涉及获取及分析的方法,不知道有没有同学知道这个?

解决方案 »

  1.   

    This object like json, you can try.
      

  2.   

    是的,我明白这个,但是我不知道要怎么把这个Object转成我需要的方法。
    刚才跟踪了一下数据,得到的是一个叫hashmap的东西,但是我尝试转成Hashmap的时候出错了,不知道要怎么转。
    能告知一下吗?这个Object里的数据不是纯粹的String或者int类型的,还包括Array,Binary之类的数据,所以指定HashMap类型的时候只能使用HashMap<String, Object>的,但没成功。
      

  3.   

    这不是胡说么?
    RPC能够返回对象让你处理?如果一定要,估计得序列化,反序列化了,然后你再处理 .通常不都是返回一个字符串形式的.然后你解析这个字符串(通常是XML)
      

  4.   

    现在问题是它返回回来的数据是一个Object,如果我要对这个Object进行解析,最起码得转成String吧?但我一转成String就成了主题帖中的那个内容,我该怎么进行反序列化操作?
      

  5.   

    Sample code:
            try {
                HttpClient client = new DefaultHttpClient();
                HttpPost post = new HttpPost(DEFAULT_CONNECT_URI);
                HttpResponse response = null;
                HttpEntity entity = null;
                
                UrlEncodedFormEntity entry = new UrlEncodedFormEntity(nameValuePairs);
                post.setEntity(entry);
                
                response = client.execute(post);
                
                Log.i("Young", "Statue is " + response.getStatusLine().getStatusCode());            entity = response.getEntity();            result = EntityUtils.toString(entity);
            } catch (Exception e) {
                e.printStackTrace();
                return null;
            }        try {
                JSONObject object = new JSONObject(result);
                JSONArray valueList = object.getJSONArray("categories");
                for(int i = 0; i < valueList.length(); i++){
                    String id = valueList.getJSONObject(i).getString("id");
                    String name = valueList.getJSONObject(i).getString("name");
                    infos.add(info);
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }
      

  6.   

    这个用过了,因为数据没有办法直接通过URL获取(URI被做过滤了,只能使用xml-rpc方式访问才能正常获取数据),所以得到的是一个Object,而Object的内容直接toString()出来就是我列出来的那些,所以在想办法把这个Object转成正确的对象。
    现在在尝试使用HashMap输出。
      

  7.   

    该怎么直接POST xml数据给服务器端呢?
    NameValuePair必须要有两个参数,但传XML的时候根本就没有参数Name,传递不成功。
      

  8.   

    NameValuePair should defined by server.I think you should get this from server API document.
      

  9.   

    刚才又重新尝试了一下使用HttpPost发送数据,NameValuePair改用StringEntity替代,可以正常发送数据,也取到数据了。
    但得到的数据发现竟然是xml格式的,这样的话,就没有办法使用JSON来分析了吧?
    一使用JSONObject,就报<?xml of type java.lang.String Cannot be converted to JSONObject,看来只能回到最选前的方法中去了。
      

  10.   

    I think you can get the full xml string, so you can parse it by DOM.Maybe this will help you:
    http://blog.sina.com.cn/s/blog_5be1061c0100f0sz.html
      

  11.   

    这是Wordpress官方开发团队提供的一个项目。从代码中可以学习到XMLRPC调用(当然还有更多的优秀内容)。
    地址:http://android.svn.wordpress.org/trunk/
      

  12.   

    谢谢 yyy025025025 & zxh_wolfe
    很有用。
      

  13.   

    外层是个hashmap,使用hashmap.get("userid")和hashmap.get("data")获取相关数据hashmap.get("data")获取的是个object数组