json android:如何读取在线json格式

问题描述 投票:0回答:3

我是安卓新手。我有一个只有 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
    }

我只是想测试我的连接。请帮忙!

android json web-services
3个回答
0
投票

您的 JSON 无效。必须引用密钥:

[{"u": "user", "s": "male", "image": "hello.jpg"}]

它可能是有效的 JavaScript,但不是有效的 JSON。

您可能还想查看 logcat 并发布发生的任何异常(我确信您在某处收到无效的 JSON 异常)。


0
投票

如果你想从你的响应中解析“u”

{u:"user",s:"male", image:"hello.jpg"}
那么你的代码看起来很好,除了你已经实现的字符串比较:

错误:

if(post.getString("u")=="driver")
 {
            x="Success";
 }

正确:

if(post.getString("u").eqaulIgnoreCase("driver"))
{
   x="success"
}

0
投票

看来你的数据是javascript对象,而不是json数据。您可以使用在线工具、免费 JSON 格式化程序、验证器和编辑器

来验证 json 数据
© www.soinside.com 2019 - 2024. All rights reserved.