2

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

 sendResponse(200, json_encode($result));

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

我使用的是 php 版本 5.3.10,它在配置中没有说明 JSON,我将我的 phpinfo 与可以运行的在线服务器进行了比较,在 phpinfo() 中我看到 JSON 支持 = 启用,JSON 版本 = 1.2.1。这让我想到如果安装了 JSOn,这可能会起作用。但是有人告诉我 JSON 会自动附带 php 版本 5+。我想知道这是否属实,或者这是否可能因为我的本地主机服务器上未启用 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.");
                }
            });
        }
    }
4

2 回答 2

7

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

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

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

于 2013-03-05T21:00:23.547 回答
0

尽管您的问题与提出的问题不同,并且您在其中一条评论中指出了它,但您并没有更改问题。

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

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

回答:

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

或者

于 2017-09-26T11:00:01.477 回答