麻烦在改造2和gson

时间:2016-05-20 16:11:52

标签: android rest gson retrofit2

您好我正在尝试从网络服务获取json列表。 这是服务器返回的json字符串:[{“categoryName”:“Política”},{“categoryName”:“Economía”},{“categoryName”:“Cultura”},{“categoryName”:“Deportes”} 问题是转换为POJO。特殊字符(í)看起来像“Pol tica”。 这是改装调用功能:

  @GET("categories")
  public Call<List<CategoryPojo>> getCategorias(@Query("sitename") String site)

这是回调函数:

    Call<List<CategoryPojo>> call = restservice.getApiService().getCategorias(medio);

    try {
        call.enqueue(new Callback<List<CategoryPojo>>() {
            @Override
            public void onResponse(Call<List<CategoryPojo>> call, Response<List<CategoryPojo>> response) {
                List<CategoryPojo> categories = response.body();
                if (listener != null)
                    listener.onDataLoaded(categories);
            }

            @Override
            public void onFailure(Call<List<CategoryPojo>> call, Throwable throwable) {
                   Log.e("Retrofit Error", throwable.getMessage());

            }
        });

这是POJO:

public class CategoryPojo implements Serializable{

    public CategoryPojo() { }

    @SerializedName("categoryName")
    private String name;

    public String getName()
    {
      return this.name;
    }


 }

对Web服务的请求结果(在浏览器中输出)是:

[{ “类别名称”: “Política”},{ “类别名称”: “Economía”},{ “类别名称”: “文化之”},{ “类别名称”: “Deportes进行”},{ “类别名称”:” Salud“},{”categoryName“:”CienciayTecnología“},{”categoryName“:”Medio Ambiente“},{”categoryName“:”Medios“},{”categoryName“:”Militar e Inteligencia“},{ “类别名称”: “皇家社会”}]

所以,返回json有一个很好的编码...我认为这可能是关于改造阅读响应的方式。 我正在使用retrofit-2.0.2,gson-2.6.1,converter-gson-2.0.2,okhttp-3.2.0。 有帮助吗?请

1 个答案:

答案 0 :(得分:0)

您应在响应标题中检查<div class="dashboard"> <form class="example-form" [formGroup]="userForm" (ngSubmit)="addAutomationCase(this.login_type)"> <div class="example-full-width" style="display: inline-block"> <label>Template Upload</label> <input type="file" formControlName="test_template" accept=".xlsx,.xls" [writeFile]="true"> </div> <div class="dashboardFooter"> <button type="submit" class="button btn-primary" color="primary"> Save </button> <button type="reset" class="button btn-default" color="default"> Cancel </button> </div> </form> </div> 。寻找Content-type的值,然后尝试将后端的值更改为charset。那对我有用。