当前位置: 首页 > 知识库问答 >
问题:

在Android改造响应中获取JsonSyntaException?

姚烨
2023-03-14

相关问题

< code>Json的响应是< code >新行分隔符Json:

{"type":"data","id":"xyz"}
{"type":"value","id":"xcf"}
....
....

我正在使用改造来提出请求:

public void getWarehouse(){

 //Generation of  RestAdapter
 RestAdapter adapter = new  RestAdapter.Builder ()
            .setEndpoint(URL)
            .setLogLevel(RestAdapter.LogLevel.FULL)
            .setLog(new AndroidLog("= NETWORK ="))
            .build();

 //Making request to API
 adapter.create(WarehouseAPI.class).getWarehouse()
        .subscribeOn(Schedulers.newThread())
        .observeOn(AndroidSchedulers.mainThread())
        .subscribe(new Observer<Response>() {
         @Override
         public void onCompleted() {
             Log.d(this.getClass().getName(), "OnCompleted ()");
         }

         @Override
         public void onError(Throwable e) {
             Log.d(this.getClass().getName(), "Error:"  + e.toString());
         }

         @Override
         public void onNext(Response response) {
         System.out.println("test");

         }


       });

}

我可以在我的Android Studio控制台中看到响应,但收到以下错误:

错误:改装。错误:com.google.gson。JsonSyntaxException:com.google.gson.stream。MalformedJsonException:使用JsonReader。setLenient(true)接受第2行第2列路径$中格式错误的JSON

    < li >响应在< code>NdJson中,它无法正确解析它
  • 如何正确解析它?

共有1个答案

姜飞飙
2023-03-14

正如@trevor-e提到的,您必须实现一个定制的转换器来处理ndjson格式。查看下面的链接,获取入门指南:

改造-定义自定义响应转换器

还可以查看来自以下内容的StringConverter:如何使用Retrofit从异步回调中返回String或JSONObject?

您可以将响应转换成常规字符串,然后将每一行解析成一个JSON对象,并从那里继续。

 类似资料:
  • 我在OkHttp客户端和Jackson上使用reform进行Json序列化,并希望获得响应的头。 我知道我可以扩展OkClient并拦截它。但这发生在反序列化过程开始之前。 我基本上需要的是获取头文件和反序列化的Json对象。

  • 问题内容: 我正在尝试寻找在Android中发出USSD请求的方法。我找到了-http://commandus.com/blog/?p=58。我将所有需要的文件添加到我的项目中。 USSDDumbExtendedNetworkService.java: 表现: BootReceiver.java: 因此,现在该服务在启动完成后启动。 我的问题是我如何发送USSD请求并获得服务响应?谢谢!) 问题答

  • 我的问题是我如何发送USSD请求并得到服务响应?(谢谢!)

  • 如何从改造和存储到java类并访问某个地方来读取此响应??

  • 当我向服务器发布一些url时,我试图在webview中获取响应标题。我使用的是shouldInterceptRequest方法。 此方法返回WebResource响应对象。但我不知道如何从中获取响应标头。 默认情况下,返回super。shouldInterceptRequest(视图、请求) 返回null。 那么,应该做些什么才能捕捉到实际的webview响应呢。

  • 我可以很容易地得到消息,但我不能从响应中得到“他”数组。 下面是我的数据模型类 这就是我向服务器发送请求的方式: