无法确定是否安装了JSON


Trouble Figuring out if JSON is installed or not

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

 sendResponse(200, json_encode($result));

是失败的,因为值从我的选择(从早期的程序)没有被传递回我的应用程序(我检查连接和用户,它都是正确的)。

我使用的是php版本5.3.10,它在配置中没有提到JSON,我将我的phpinfo与在线服务器进行比较,在phpinfo()中,我看到JSON支持=启用,JSON版本=1.2.1。这让我想,也许这将工作,如果JSOn安装。然而,有人告诉我,php 5+版本会自动附带JSON。我想知道如果这是真的,或者如果这可能是失败的,因为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.");
                }
            });
        }
    }

从PHP 5.2.0开始,JSON扩展被绑定并默认编译到PHP中。

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

所以不需要检查JSON在现代PHP版本的兼容性

尽管您的问题与所问的问题不同,并且您在其中一个评论中发现了它,但您没有更改问题。

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

查询收集JSON数据从MySQL到PHP在本地服务器上工作,但当移植到生产服务器Online数组返回空。结果发现,生产服务器的MySQL版本是5.6xx,本地服务器是5.7xx。这个差异就是答案。根据SitePoint的这篇文章,MySQL从5.7开始支持JSON数据。

答:

    更新MySQL到5.7+(问题解决)

  • 检索JSON数据作为文本(MySQL 5.6),并使用PHP json_decode()对象或数组