问题描述
我正在尝试处理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 (将#修改为@)