我想从Android端使用PHP文件(news.php)生成的JSON数据。我有一个PHP文件似乎正确生成JSON数据,我的Android端工作正常。问题是我得到了上述异常。
令我感到困惑的是,如果我将PHP文件生成的JSON详细信息输出复制到单独的文件并将其另存为JSON文件(例如news.json),我的Android应用程序可以使用JSON数据,但是如果我将它重新指向php(news.php)文件,我会收到上述异常。
我看过其他可能的重复问题,但它们并不适合我自己的问题。非常感谢任何帮助。
我有一个编码为JSON格式的php文件:
<预> <代码> <?PHP的 包括( “包括/ db_connection.php”); if(isset($ _ GET ['latest_news'])){ $ limit = $ _GET ['latest_news']; $ query =“SELECT * FROM tbl_news_category c,tbl_news n WHERE c.cid = n.cat_id ORDER BY n.nid DESC LIMIT $ limit”; $ result = mysqli_query($ con,$ query); } $ total_records = mysqli_num_rows($ result); if($ total_records> = 1){ while($ link [] = mysqli_fetch_array($ result,MYSQLI_ASSOC)){ $ set ['RecentNews'] = $ link; } } echo $ val = str_replace('\\ /','/',json_encode($ set,JSON_UNESCAPED_UNICODE)); //} ?> 代码>然后我有一个'Android JSON class'代码片段:
try {
JSONObject mainJson = new JSONObject(result);
JSONArray jsonArray = mainJson.getJSONArray(Constant.CATEGORY_ARRAY_NAME);
JSONObject objJson = null;
for(int i = 0; i
Android'常量类'代码段:
public class Constants实现Serializable {
public static final String SERVER_URL =“http://192.100.1.1:4000/news”;
public static final String LATEST_URL =“http://192.100.1.1:4000/news/news.php?latest_news=10”;
public static final String CATEGORY_ARRAY_NAME =“RecentNews”;
public static final String CATEGORY_NAME =“category_name”;
public static final String CATEGORY_CID =“cid”;
public static final String CATEGORY_IMAGE =“category_image”;
...
}
代码>
编辑:
JSON输出:
<预> <代码> { “RecentNews”:[{ “CID”: “7”, “CATEGORY_NAME”: “世界”, “category_image”: “91771_world.jpg”, “状态”: “1”, “NID” :“9”,“cat_id”:“7”,“news_heading”:“世界样本新闻标题”,“news_description”:“ 世界样本新闻 \ r \ n”个, “news_image”: “88702_IMG_5038.JPG”, “news_date”: “2017年8月16日”, “news_status”: “1”},{ “CID”: “12”, “CATEGORY_NAME”: “IT”,“category_image”:“98162_IMG_1303.JPG”,“status”:“1”,“nid”:“8”,“cat_id”:“12”,“news_heading”:“IT示例新闻标题”,“ news_description “:” IT样本新闻 \ r \ n”个, “news_image”: “24966_IMG_5018.JPG”, “news_date”: “2017年8月3日”, “news_status”: “1”},{ “CID”: “5”, “CATEGORY_NAME”: “Business”,“category_image”:“4591_download.jpg”,“status”:“1”,“nid”:“7”,“cat_id”:“5”,“news_heading”:“商业样本新闻标题”,“ news_description “:” 商业样本新闻 \ r \ n”个, “news_image”: “13015_IMG_5017.JPG”, “news_date”: “2017年8月2日”, “news_status”: “1”},{ “CID”: “4”, “CATEGORY_NAME”: “Sports”,“category_image”:“22814_sports.jpg”,“status”:“1”,“nid”:“6”,“cat_id”:“4”,“news_heading”:“体育样本新闻标题”,“ news_description “:” 体育样本新闻 \ r \ n”个, “news_image”: “72021_IMG_5016.JPG”, “news_date”: “2017年8月1日”, “news_status”: “1”}]} 代码>答案 0 :(得分:0)
感谢 josef.adamcik ,我使用Log.d(“tag”,result)获取异常日志,并突出显示它确实正在读取以“{”开头的php文件{1}}“。
news.php文件中的'db_connection.php'文件'included'在其中有一个以<!--
开头的部分,删除此部分后一切正常。
编辑:
我在php中使用<!--comments -->
来代替<!--comments-->
因为我使用的是Brackets IDE,所以无论如何它都会使/* comments */
部分变灰,我忽略了它是错误的。