JSON无法从php获取Int值

时间:2013-11-18 18:07:38

标签: php android json

我的问题很简单。我无法从php获取项目的价值,我的Android应用程序崩溃了。我的PHP:

<?php
$control["value"] = 0;
echo json_encode($control);
?>

My Java Android:

private static final String CONTROL_URL = "xxxxx.controller.php";
int control;

...

@Override
public void onClick(View v) {
    JSONParser jParser = new JSONParser();
    //it crash here
    JSONObject json = jParser.getJSONFromUrl(CONTROL_URL);

    try {
          control = json.getInt(CONTROL_URL);

    } catch (JSONException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        }

        if (control == 0) {
                   //Do something...
            }

当我试图在浏览器上访问我的php文件时,它会显示:{&#34; value&#34;:0}。有人可以帮我解决这个问题吗?顺便说一句,我的网址 - xxxxx.controller.php并不真实,我使用真正的应用程序,但我不想显示它。

4 个答案:

答案 0 :(得分:1)

json.getInt不会将“value”作为参数而不是URL吗? 所以json.getInt(“value”)

答案 1 :(得分:1)

当您从JSONObject抓取整数时,您输入的密钥是没有意义的网址。尝试将其更改为

control = json.getInt("value");

答案 2 :(得分:0)

你可以试试这个:

<?php
$control = array('value' => 0);
echo json_encode($control);
?>

答案 3 :(得分:0)

您的错误日志显示您正在主线程(NetworkOnMainThreadException)上进行网络调用,而android禁止。您必须将调用以将JSON移动到单独的线程。使用异步任务将实现此目的。