麻烦弄清楚是否安装了JSON

时间:2013-03-05 20:53:41

标签: php javascript mysql json

我有一个php文件,我相信这行

 sendResponse(200, json_encode($result));

失败,因为我的select(来自程序中的eariler)的值没有传递回我的应用程序(我检查了连接和用户,并且它都是正确的)。

我正在使用php版本5.3.10并且它在配置中没有说明JSON我将phpinfo与其中有效的在线服务器进行比较,并且在phpinfo()中我看到JSON支持=启用,JSON版本= 1.2.1 。如果安装了JSOn,我认为这可能会有用。但是我被告知JSON会自动附带php版本5+。我想知道这是否属实,或者是否因为我的localhost服务器上没有启用JSON而失败。谢谢

JSONParser parser = new JSONParser("http://www.myhost.co.nf/firearm/", this);

        parser.setPostData(requestParams.toString().getBytes());
        parser.setRequestType(true);
        parser.start();
    }

    public void onResponse(String data, int code) {
        // TODO Auto-generated method stub
        final Vector firearmInfo = jasonParser.parseFirearmResponse(data);
        if(firearmInfo.size() > 0 ){
            UiApplication.getUiApplication().invokeLater(new Runnable() {
                public void run() {
                    // TODO Auto-generated method stub
                    removeLoader();
                    UiApplication.getUiApplication().pushScreen(new FirearmSearchResultScreen(firearmInfo));
                }
            });
        }else{
            UiApplication.getUiApplication().invokeLater(new Runnable() {
                public void run() {
                    // TODO Auto-generated method stub
                    removeLoader();
                    Dialog.alert("No Results found.");
                }
            });
        }
    }

2 个答案:

答案 0 :(得分:7)

  

从PHP 5.2.0开始,JSON扩展默认捆绑并编译为PHP。

引自:http://www.php.net/manual/en/json.installation.php

因此,无需在现代PHP版本上检查JSON兼容性。

答案 1 :(得分:-1)

虽然您的问题与提出的问题不同,并且您在其中一条评论中发现了问题,但您没有更改问题。

这个答案解决了你的问题。昨天我也遇到了同样的事情:

从MySQL收集JSON数据到PHP的查询工作在本地服务器上,但是当移植到生产服务器时,Online数组返回空。原来,生产服务器的MySQL版本是5.6xx,本地服务器是5.7xx。这种差异就是答案。 MySQL根据this SitePoint article开始支持5.7中的JSON数据。

答案:

  • 将您的MySQL更新为5.7+(已解决的问题)