私はPHPを使用してサーバーからAndroidアプリケーションにデータを送信します。コードは、PHPで任意のエラーを実行するが、私はjsonを解析することはできませんアンドロイドのアプリケーションでエラーが発生します。私は、JSONを惹起し、http://json.parser.online.fr/にそれをTOKE、それがにSyntaxError私を示していますJSONで予期しないトークン位置0エラー では、これは私のPHPコードです:カンツを解析しJSONで予期しないトークンを取得する
function selectAll($cnn)
{
$query="SELECT * FROM user";
$stmt=$cnn->prepare($query);
$stmt->execute();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$result[]=$row;
}
return $result;
}
echo(json_encode(array('result' => $arr)));
and This is my json data that generated with php
もちろん、これは私のアンドロイドコードです:あなたは、この行を変更する必要があり
public class ManageUser extends AppCompatActivity implements RecyclerItemClickListener.OnItemClickListener {
RecyclerView recyclerView;
ProgressBar progressBar;
List<user> listOfUser=new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_manage_user);
progressBar=(ProgressBar)findViewById(R.id.UserProgress);
recyclerView=(RecyclerView)findViewById(R.id.recviewUser);
recyclerView.addOnItemTouchListener(new RecyclerItemClickListener(this,this));
SelectAllUserNetworkTask GetAllUser=new SelectAllUserNetworkTask(this);
GetAllUser.execute();
}
@Override
public void onItemClick(View childView, int position) {
Toast.makeText(this,"Clicked trigger",Toast.LENGTH_SHORT).show();
}
@Override
public void onItemLongPress(View childView, int position) {
Toast.makeText(this,"LongPress",Toast.LENGTH_SHORT).show();
}
public class SelectAllUserNetworkTask extends AsyncTask {
Context myContext;
List<user> productarray =new ArrayList<>();
private OkHttpClient client=new OkHttpClient();
public String Result;
public SelectAllUserNetworkTask(Context context)
{
this.myContext=context;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
progressBar.setVisibility(View.VISIBLE);
}
@Override
protected Object doInBackground(Object[] params) {
try {
RequestBody requestBody;
requestBody = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("action","select")
.build();
Request request = new Request.Builder()
.url(Tags.UserAddress)
.post(requestBody)
.build();
Response response = client.newCall(request).execute();
Result=response.body().string().toString();
String str=Result.substring(Result.indexOf("{"), Result.lastIndexOf("}"));
JSONObject jsonObject=new JSONObject(str);
JSONArray jsonArray = jsonObject.getJSONArray("result");
for (int i=0;i<jsonArray.length();i++) {
JSONObject jobject = jsonArray.getJSONObject(i);
user myUser =new user();
myUser.setUsId(jobject.getInt("id"));
myUser.setName(jobject.getString("name"));
myUser.setLastName(jobject.getString("lastname"));
myUser.setEmail(jobject.getString("email"));
myUser.setPassword(jobject.getString("password"));
myUser.setImage(jobject.getString("image"));
myUser.setGender(jobject.getString("gender"));
myUser.setBirthDay(jobject.getString("birthday"));
myUser.setFavFilm(jobject.getString("favFilm"));
myUser.setFavColor(jobject.getString("favColor"));
myUser.setAboutMe(jobject.getString("aboutme"));
myUser.setAdmin(jobject.getInt("admin"));
productarray.add(myUser);
}
/* Type typeList=new TypeToken<List<ModelProduct>>(){}.getType();
productarray=new Gson().fromJson(jsonObject.getString("result"),typeList);*/
listOfUser = productarray;
return productarray;
} catch (IOException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Object o) {
super.onPostExecute(o);
progressBar.setVisibility(View.GONE);
recyclerView.setHasFixedSize(true);
LinearLayoutManager llm = new LinearLayoutManager(myContext);
llm.setOrientation(LinearLayoutManager.VERTICAL);
recyclerView.setLayoutManager(llm);
UserAdapter ca=new UserAdapter(listOfUser,myContext);
recyclerView.setAdapter(ca);
}
}
}
PHPコードは関係ありません.JSONオブジェクトを解析するためのAndroidコードは何ですか? – player87