如何使用改进库在Android的JsonObject中获取个人Id数据
我是Android平台的新手。使用改装从类似此链接获取数据时感到疲惫 我想用这个链接作为个人ID数据,就像1,2,3,。。。 我试了很多次,但都是空的没有数据来 我的Api接口类是 我的patientsJson类是如何使用改进库在Android的JsonObject中获取个人Id数据,android,json,retrofit,Android,Json,Retrofit,我是Android平台的新手。使用改装从类似此链接获取数据时感到疲惫 我想用这个链接作为个人ID数据,就像1,2,3,。。。 我试了很多次,但都是空的没有数据来 我的Api接口类是 我的patientsJson类是 您可以从代码中动态传递id。您只需要为代码编写改装接口 @GET("{id}") Call<List<patientsJson>> getPatientsJson(@Path("id") int id); @GET(“{id}”) 调用getPatient
您可以从代码中动态传递id。您只需要为代码编写改装接口
@GET("{id}")
Call<List<patientsJson>> getPatientsJson(@Path("id") int id);
@GET(“{id}”)
调用getPatientsJson(@Path(“id”)int-id);
现在,在调用web服务时,您需要将ID作为参数传递。Hi@Kirtan出现如下错误。。。。。。。。应为begin_数组,但在第1行第2列路径$@hamzarahman处为begin_对象,该错误与改装无关。它是如何解析响应中的JSON数据的。根据web服务的响应,它返回的JSON对象是您在响应中编写JSON数组的位置。那么,我该如何摆脱它呢?据我所知,改型工作与Json数组不是对象。但我只需要处理对象。。因此,当我传递这个id时,它将返回一个JsonObject。。是这样吗?此URL正在返回您可以看到的对象。而且这并不是说改型仅适用于阵列。您能给出解决方案吗。。我只需要一个身份证数据不是全部我现在很沮丧。。
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(Api.BaseURL)
.addConverterFactory(GsonConverterFactory.create())
.build();
Api api = retrofit.create(Api.class);
Call<List<patientsJson>> call = api.getPatientsJson();
call.enqueue(new Callback<List<patientsJson>>() {
@Override
public void onResponse(Call<List<patientsJson>> call, Response<List<patientsJson>> response) {
List<patientsJson> patientsJsons = response.body();
for (patientsJson data: patientsJsons ){
t1.setText(data.getName());
t2.setText(data.getId());
t3.setText(data.getEmail());
Log.d("Name: ", data.getName() );
//Log.d("ID: ", data.getId());
Log.d("Email: ", data.getEmail());
}
}
@Override
public void onFailure(Call<List<patientsJson>> call, Throwable t) {
Toast.makeText(getApplicationContext(), t.getMessage(), Toast.LENGTH_LONG).show();
}
});
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button b = (Button)findViewById(R.id.button);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this, patients_Activity.class);
//intent.putExtra("ID", "1");
startActivity(intent);
}
});
}
//private String postId;
private String id;
private String name;
private String email;
public patientsJson( String id, String name, String email) {
this.id = id;
this.name = name;
this.email = email;
}
public String getId() {
return id;
}
public String getName() {
return name;
}
public String getEmail() {
return email;
}
@GET("{id}")
Call<List<patientsJson>> getPatientsJson(@Path("id") int id);