我在这里尽量说得具体一点。所以我已经创建了最基本的代码,只是为了测试它,但我仍然无法获得数据,请帮助!这是我的代码:
这是本地服务器上的json输出:http://localhost:8080/KokosinjacRestfull/rest/textService/mudriPevci
[{“id”:1,“子类别”:“MudriPevci”,“标题”:“Mujo i haso”,“描述”:“Krenuli do Grada”,“作者”:“luka”,“日期”:“2016-06-13”},{“id”:3,“子类别”:“MudriPevci”,“标题”:“Perica”,“描述”:“Pa on je napravio Haos”,“作者”:“luka”,“日期”:“2016-06-13”}]
Text.class:
package kokosinjac.com.digiart.koktest.models;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class Text {
@SerializedName("id")
@Expose
private Integer id;
@SerializedName("subCategory")
@Expose
private String subCategory;
@SerializedName("title")
@Expose
private String title;
@SerializedName("description")
@Expose
private String description;
@SerializedName("author")
@Expose
private String author;
@SerializedName("date")
@Expose
private String date;
/**
* No args constructor for use in serialization
*
*/
/**
*
* @param id
* @param author
* @param title
* @param subCategory
* @param description
* @param date
*/
/**
*
* @return
* The id
*/
public Integer getId() {
return id;
}
/**
*
* @param id
* The id
*/
public void setId(Integer id) {
this.id = id;
}
/**
*
* @return
* The subCategory
*/
public String getSubCategory() {
return subCategory;
}
/**
*
* @param subCategory
* The subCategory
*/
public void setSubCategory(String subCategory) {
this.subCategory = subCategory;
}
/**
*
* @return
* The title
*/
public String getTitle() {
return title;
}
/**
*
* @param title
* The title
*/
public void setTitle(String title) {
this.title = title;
}
/**
*
* @return
* The description
*/
public String getDescription() {
return description;
}
/**
*
* @param description
* The description
*/
public void setDescription(String description) {
this.description = description;
}
/**
*
* @return
* The author
*/
public String getAuthor() {
return author;
}
/**
*
* @param author
* The author
*/
public void setAuthor(String author) {
this.author = author;
}
/**
*
* @return
* The date
*/
public String getDate() {
return date;
}
/**
*
* @param date
* The date
*/
public void setDate(String date) {
this.date = date;
}
}
Apiinterface.class:
包装kokosinjac.com.digiart.koktest.retrofit;
导入java.util.ArrayList;
进口kokosinjac。通用域名格式。digiart。科克泰斯特。模型。文本进口改装2。呼叫进口改装2。http。收到进口改装2。http。路径
公共接口RetroFitAPInterface{
@GET("rest/textService/{subCategory}")
Call<ArrayList<Text>> getText(@Path("subCategory") String subCat);
}
在手机上显示数据的类(您不需要注意某些字符串,只需查看改装部分,我已经尽可能地简化了,subCatData.class:
public static final String BASE_URL ="http://localhost:8080/KokosinjacRestfull/";
HashMap<String,String> dataArr;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sub_cat_data);
final TextView tView = (TextView) findViewById(R.id.textView);
Intent intent = getIntent();
String urlSecondPartBefore = intent.getStringExtra("passedSubCat");
String urlSecondPartAfter = urlSecondPartBefore.replaceAll("\\s", "");
String urlFirstPart = intent.getStringExtra("passedUrlFirstPart");
String catName = intent.getStringExtra("passedCatName");
String data = null;
// TextView test = (TextView) findViewById(R.id.test);
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
RetrofitAPInterface apiService = retrofit.create(RetrofitAPInterface.class);
Call<ArrayList<Text>> call = apiService.getText("mudriPevci");
call.enqueue(new Callback<ArrayList<Text>>() {
@Override
public void onResponse(Call<ArrayList<Text>> call, Response<ArrayList<Text>> response) {
int statusCode = response.code();
ArrayList<Text> textArray = response.body();
for (Text t : textArray){
tView.setText(t.getDescription());
}
// Log.i("DATA", "onResponse: "+text.getId());
}
@Override
public void onFailure(Call<ArrayList<Text>> call, Throwable t) {
}
});
}
}
我知道所有的数据都将被简单地标记出来,但这是为了测试目的。但我仍然无法检索任何内容,也没有收到任何错误。非常感谢您的帮助。谢谢
问题可能在您的BASE_URL将BASE_URL更改为BASE_URL="超文本传输协议://
要解析Android上的JSON数据,我强烈建议使用JSOUP,您可以通过单击此处找到它,它简单、直接且用户友好。非常容易学习。希望这对你有帮助!
我认为你的URL有问题,如果你正在用android emulator测试你的应用程序,那么试试”http://10.0.2.2:8080/“
。但如果您使用设备进行测试,则需要像一样传递计算机IP地址。”http://192.143.1.0/“
。并确保您的设备已连接到数据库所在的计算机。
我是翻新和json的新手,我不知道如何解析下一个JSON字符串: } 我只想要权重数组中的“权重”和“日期”。我根据一些例子创建了一个pojo类,但是它不起作用。同样,当我在pojo类中尝试使用< code >时,我无法获得字符串形式的“weight ”(我将把它用作double)。string()。 (我知道使用<代码>。toString()显示类似“com.myPackage.MyPojo@x
无法解析以下json数据。获得成功响应但返回的正文为空以下是我通过Web浏览器获得的json响应。 下面是用于解析所用响应类的模型类 Departure.java 调用api 我从浏览器中得到了正确的响应。但当通过改装库调用时,获得成功响应(200),但正文为空。 我从浏览器中得到了正确的响应。但当通过改装库调用时,获得成功响应(200),但正文为空。
这是我的模型课 另一个模型类
问题内容: 我想拉出用户块。JSON结果将始终更改,有时将返回4个用户,有时将返回10个,等等。 问题答案: 使用JSONObject
问题内容: 我很难找到一种方法来解析JSONArray。看起来像这样: 如果JSON的写法不同,我知道如何解析它(换句话说,如果我返回了json对象而不是对象数组)。但这就是我所必须拥有的。 *编辑:这是一个有效的json。我使用此json制作了一个iPhone应用,现在我需要在Android上使用它,但无法弄清楚。有很多示例,但是它们都是与JSONObject相关的。我需要JSONArray。
我正在使用来解析Json数据。我的Json数据如下: GsonParse.java 我使用以下方法来解析此JSON数据。 我面对以下错误。