我有一个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()对象或数组