我是安卓新手。我有一个只有 json 格式的网址。假设 url 是 - http://www.example.com/filter... 该 url 只包含 json 格式数据。以该链接包含以下内容为例: - [ {u:"user",s:"male" image:"hello.jpg"}] 该链接仅包含上述数据。现在,我想测试我的 android 中的连接,即我是否能够连接到参数 u 的值。我创建了一个http客户端并尝试解析json格式。该程序但不显示任何内容..这就是我所做的
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://www.example.com/filter");
try
{
HttpResponse response = httpclient.execute(httppost);
InputStream in = response.getEntity().getContent();
byte [] buffer = new byte[in.available()];
while (in.read(buffer) != -1);
String jsontext = new String(buffer);
JSONArray entries = new JSONArray(jsontext);
for (i=0;i<entries.length();i++)
{
JSONObject post = entries.getJSONObject(i);
if(post.getString("u")=="driver")
{
x="Success";
}
}
txtResult.setText(x); // x is string
}
我只是想测试我的连接。请帮忙!
您的 JSON 无效。必须引用密钥:
[{"u": "user", "s": "male", "image": "hello.jpg"}]
它可能是有效的 JavaScript,但不是有效的 JSON。
您可能还想查看 logcat 并发布发生的任何异常(我确信您在某处收到无效的 JSON 异常)。
如果你想从你的响应中解析“u”
{u:"user",s:"male", image:"hello.jpg"}
那么你的代码看起来很好,除了你已经实现的字符串比较:
错误:
if(post.getString("u")=="driver")
{
x="Success";
}
正确:
if(post.getString("u").eqaulIgnoreCase("driver"))
{
x="success"
}
看来你的数据是javascript对象,而不是json数据。您可以使用在线工具、免费 JSON 格式化程序、验证器和编辑器
来验证 json 数据