に変換することはできません。 JSONデータを適切に生成するように見えるPHPファイルがあり、Android側が正常に動作します。問題は私が上記の例外を得ることです。JSONException:!?値< - java.lang.String型のPHPは、私はAndroidの端からPHPファイル(news.php)によって生成されたJSONデータを消費したいJSONObject
PHPファイルから生成されたJSON詳細出力を別のファイルにコピーしてJSONファイル(例:news.json)として保存すると、AndroidアプリはJSONデータを消費することができますが、しかし、私はそれをphp(news.php)ファイルに返すと、私は上記の例外を受け取ります。
私は他の可能性のある重複した質問を見てきましたが、彼らはかなり自分に合いません。どんな助けでも大歓迎です。
私はJSON形式にエンコードするPHPファイルがあります。
try {
JSONObject mainJson = new JSONObject(result);
JSONArray jsonArray = mainJson.getJSONArray(Constant.CATEGORY_ARRAY_NAME);
JSONObject objJson = null;
for (int i = 0; i < jsonArray.length(); i++) {
objJson = jsonArray.getJSONObject(i);
ItemLatest objItem = new ItemLatest();
objItem.setCId(objJson.getString(Constants.CATEGORY_ITEM_CID));
objItem.setCategoryName(objJson.getString(Constants.CATEGORY_ITEM_NAME));
//objItem.setCategoryImage(objJson.getString(Constants.CATEGORY_ITEM_IMAGE));
objItem.setCatId(objJson.getString(Constants.CATEGORY_ITEM_CAT_ID));
objItem.setNewsImage(objJson.getString(Constants.CATEGORY_ITEM_NEWSIMAGE));
objItem.setNewsHeading(objJson.getString(Constants.CATEGORY_ITEM_NEWSHEADING));
objItem.setNewsDescription(objJson.getString(Constants.CATEGORY_ITEM_NEWSDESCRI));
objItem.setNewsDate(objJson.getString(Constants.CATEGORY_ITEM_NEWSDATE));
arrayOfLatestnews.add(objItem);
}
}
catch (JSONException exc) {
exc.printStackTrace();
}
Androidの「定数クラスのコードスニペット:
その後、私は "AndroidのJSONクラスのコードスニペットを持って<?php
include("includes/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));
//}
?>
を
public class Constants implements 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";
...
}
EDIT:
JSON出力:josef.adamcikへ
{"RecentNews":[{"cid":"7","category_name":"World","category_image":"91771_world.jpg","status":"1","nid":"9","cat_id":"7","news_heading":"World Sample News Heading","news_description":"
World Sample News
\r\n","news_image":"88702_IMG_5038.JPG","news_date":"08-16-2017","news_status":"1"},{"cid":"12","category_name":"IT","category_image":"98162_IMG_1303.JPG","status":"1","nid":"8","cat_id":"12","news_heading":"IT Sample News Heading","news_description":"
IT Sample News
\r\n","news_image":"24966_IMG_5018.JPG","news_date":"08-03-2017","news_status":"1"},{"cid":"5","category_name":"Business","category_image":"4591_download.jpg","status":"1","nid":"7","cat_id":"5","news_heading":"Business Sample News Heading","news_description":"
Business Sample News
\r\n","news_image":"13015_IMG_5017.JPG","news_date":"08-02-2017","news_status":"1"},{"cid":"4","category_name":"Sports","category_image":"22814_sports.jpg","status":"1","nid":"6","cat_id":"4","news_heading":"Sports Sample News Heading","news_description":"
Sports Sample News
\r\n","news_image":"72021_IMG_5016.JPG","news_date":"08-01-2017","news_status":"1"}]}
http://192.100.1.1:4000/news/news.php?latest_news=10 –
の出力を表示できますか質問を更新し、JSON出力データを追加しました –
投稿したjson出力がアプリケーションが受け取ったものと同じですか?エラーメッセージは、結果の文字列が "<! - ?php"で始まって、php openningタグが壊れているように見えることを示しています。おそらく結果変数の内容をアンドロイドコード(Log.d( "mytag"、結果))に記録しようとします。 –