duanchangnie7996 2012-04-10 22:14
浏览 69
已采纳

将json解析为字符串时出错

enter image description hereGuys i am trying to connect my android app to php server and using json to encode data . I am unable to decode it on the app. Please help

public class JsonDemoActivity extends Activity implements OnClickListener{
    /** Called when the activity is first created. */
     HttpPost httppost;

        StringBuffer buffer;

        HttpResponse response;

        HttpClient httpclient;
        TextView tv;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        tv=(TextView) findViewById(R.id.textView1);
        Button b=(Button) findViewById(R.id.button1);
        b.setOnClickListener(this);
    }

    public void onClick(View v) {
        // TODO Auto-generated method stub
         try{

             httpclient=new DefaultHttpClient();

             httppost= new HttpPost("http://10.0.2.2/jsondemo.php"); // make sure the url is correct.



             response=httpclient.execute(httppost);

             HttpEntity he=response.getEntity();

             JSONObject jo=new JSONObject(EntityUtils.toString(he));

             String message=jo.getString("message");
             String from=jo.getString("from");
             String to=jo.getString("to");

             tv.setText("Message "+message+"/n"+"from "+from+"/n"+"to "+to);



             tv.setText("Response from PHP : " + response);

         }catch(Exception e){

             System.out.println("Exception : " + e.getMessage());
                tv.setText(e.getLocalizedMessage());
                System.out.println("Response from php"+response);
         }

    }
}

Here is the php side code

<?php

header('Content-Type: application/json');
$obj = new stdClass();

$obj->message="hello";
$obj->from="pratik";
$obj->to="server";

echo json_encode($obj);
?>

I am getting the error cannot convert json to string.enter image description here

  • 写回答

1条回答 默认 最新

  • duanla8800 2012-04-11 10:11
    关注

    I removed the line tv.setText("Response from PHP : " + response); from the code. It finally worked.!!!

    tv.setText("Message "+message+"/n"+"from "+from+"/n"+"to "+to); That was getting overwritten by tv.setText("Response from PHP : " + response);

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题