如何从Android读取echo语句

时间:2015-12-08 01:10:31

标签: java php android json

目前我只能实际读取包含json格式的php文件。

我想要做的是读取一个echo语句(用json格式)代替读取实际文件。

到目前为止,这是我的android代码,请求包含json格式的php文件供我阅读:

// defaultHttpClient
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
is = httpEntity.getContent(); // This is storing the contents from the php file

提前致谢

这是php文件:

{
"user": [
{
"id": "001",
"name": "Raj Amal",
"email": "raj.amalw@gmail.com"
}
]
}

I want to do this:


<?php
    echo '{
    "user": [
    {
    "id": "001",
    "name": "Raj Amal",
    "email": "raj.amalw@gmail.com"
    }
    ]
    }';
    ?>

2 个答案:

答案 0 :(得分:1)

尝试以下,

DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
HttpResponse httpResponse = httpClient.execute(httpPost);

现在,服务器的响应将在httpResponse中找到。您可以将其转换为如下所示的字符串。

String myResponseString = EntityUtils.toString(httpResponse.getEntity());

记录字符串myResponseString以查看服务器的响应

答案 1 :(得分:0)

我认为您的问题在于服务器配置。意思是 - 普通的php(这是json)被服务器识别为json并返回适当的头文件。 而你的echo以纯文本形式返回而没有HttpEntity的标题(不推荐使用!)。

在客户端,上面的答案是使用HttpClient的方法。

在服务器端:

<?PHP
$data = /** put your content here! **/;
header('Content-Type: application/json');
echo json_encode($data); 

https://stackoverflow.com/a/4064468/324482