如何解决使用JsonReader.setLenienttrue在第1行第1列路径$接受格式错误的JSON我该如何解决
我正在尝试处理JSON对象时解决格式错误的JSON问题。它将错误转储到我的项目控制台上,指出该错误Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 1 path $
。我怎样才能解决这个问题?
发送远程消息
private fun sendRemoteMessage(body: sender) {
val retrofit = Retrofit.Builder()
.baseUrl("http://fcm.googleapis.cm/fcm/")
.addConverterFactory(GsonConverterFactory.create())
.build()
retrofit.create(ApiService::class.java).sendRemoteMessage(body).enqueue( object :Callback<String> {
override fun onFailure(call: Call<String>,t: Throwable) {
Toast.makeText(applicationContext,t.message,Toast.LENGTH_LONG).show()
}
override fun onResponse(call: Call<String>,response: Response<String>) {
if (response.code() == 200 && response.isSuccessful){
Toast.makeText(applicationContext,"Message sent",Toast.LENGTH_LONG).show()
}
else {
Toast.makeText(applicationContext,response.message(),Toast.LENGTH_LONG).show()
}
}
})
}
API服务
@Headers({
"Content-Type:application/json","Authorization:key=myServerKey"
})
@POST("send")
Call<String> sendRemoteMessage(@Body sender body);
处理数据
private fun initiateMeeting(meetingType: String,receiverToken: String) {
val data = user()
data.name = preferenceManager.getString(Constants().keyUserName).toString()
data.profilePic = preferenceManager.getString((Constants().keyProfile)).toString()
data.email = preferenceManager.getString(Constants().keyEmail).toString()
data.token = preferenceManager.getString(Constants().keyRemoteMsgSenderToken).toString()
val sender = sender(data,receiverToken)
sendRemoteMessage(sender)
Toast.makeText(applicationContext,sender.data.toString(),Toast.LENGTH_LONG).show()
}
数据发送器
class sender(var data: data,var to: String)
数据类
class user: Serializable {
var name = ""
var profilePic = ""
var token: String = ""
var email = ""
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。