请忽略:看起来你的帖子大部分都是代码;请再补充一些细节。看起来你的帖子大部分都是代码;请再补充一些细节。看起来你的帖子大部分都是代码;请再补充一些细节。看起来你的帖子大部分都是代码;请再补充一些细节。看起来你的帖子大部分都是代码;请再补充一些细节。看起来你的帖子大部分都是代码;请再补充一些细节。看起来你的帖子大部分都是代码;请再补充一些细节。看起来你的帖子大部分都是代码;请再补充一些细节。看起来你的帖子大部分都是代码;请再补充一些细节。看起来你的帖子大部分都是代码;请再补充一些细节。
class InformationActivity : AppCompatActivity() {
private val _tag = SplashActivity::class.java.simpleName
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_information)
val uniqueId = SharedPreference.getidInfo(this)
val token = SharedPreference.getUserInfo(this)
Client.retrofitService.profile(uniqueId, token)
.enqueue(object : Callback<LoginResponse> {
override fun onFailure(call: Call<LoginResponse>, t: Throwable) {
}
override fun onResponse(
call: Call<LoginResponse>,
response: Response<LoginResponse>
) {
if (response?.isSuccessful == false) { val er = Gson().fromJson(response.errorBody()?.charStream(), ErrorResponse::class.java)
Log.d(_tag, "${er.code}:${er.message}")
if (er.code == 60203) {
Toast.makeText(this@InformationActivity, "", Toast.LENGTH_SHORT).show()
}
} else if (response?.isSuccessful == true) {
Glide.with(applicationContext).asBitmap().load("https://s3.amazonaws.com/appsdeveloperblog/micky.gif").into(imageView)
Toast.makeText(this@InformationActivity, "", Toast.LENGTH_LONG).show()
val file=File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS),"micky.gif")
var fileName="micky.gif"
val token = SharedPreference.getUserInfo(applicationContext)
val uniqueId= SharedPreference.getidInfo(applicationContext)
var requestBody: RequestBody = RequestBody.create(MediaType.parse("image/*"), file)
val body: MultipartBody.Part = MultipartBody.Part.createFormData("profile",fileName,requestBody)
if (uniqueId != null) {
Client.retrofitService.updateProfile(token,uniqueId,body)
.enqueue(object : Callback<List<LoginResponse>> {
override fun onFailure(
call: Call<List<LoginResponse>>,
t: Throwable) { Log.d("", t.message) }
override fun onResponse(
call: Call<List<LoginResponse>>,
response: Response<List<LoginResponse>>) { if (response?.isSuccessful)
{ Toast.makeText(this@InformationActivity, "File Uploaded Successfully...", Toast.LENGTH_LONG).show()
Log.d("", "" + response?.body().toString())
} else {
Toast.makeText(this@InformationActivity, "Some error occurred...", Toast.LENGTH_LONG).show()
}
} }) }
}
}
}) }
}
interface API {
@Headers("Content-Type: application/json", "Authorization:token:String")
@Multipart
@PUT("/user/profile/{userId}")
fun updateProfile(@Header("Authorization") token: String?, @Path("userId") userID: String, @Part file: MultipartBody.Part): Call<List<Loginresponse>>
}
object Client {
var retrofitService: API
init {
val interceptor = HttpLoggingInterceptor()
interceptor.level = HttpLoggingInterceptor.Level.BODY
val logger: OkHttpClient = OkHttpClient.Builder().addInterceptor(interceptor).readTimeout(20, TimeUnit.SECONDS).writeTimeout(20, TimeUnit.SECONDS).build()
val retrofit = Retrofit.Builder()
.baseUrl("myurl")
.addConverterFactory(GsonConverterFactory.create())
.client(logger)
.build()
retrofitService = retrofit.create(API::class.java)
}
}
@SerializedName("uniqueId")
val user:String?=null
@SerializedName("nickname")
val nickname: String?=null
@SerializedName("birth")
val birth: String?=null
@SerializedName("profileImage")
val profileImage: String?=null
@SerializedName("profileThumbnail")
val profileThumbnails: String?=null
@SerializedName("gender")
val gender: Int?=null
@SerializedName("token")
val token: String? = null
}
您的json返回为json对象。但您正在尝试转换为Json数组
Call<List<Loginresponse>> - you try to convert result as JSON Array (list)
解决方案
获取原始json结果&使用http://www.jsonschema2pojo.org/转换pojo,然后重试
我做错了什么? 当我这样读json时,它工作得很好
在阅读@Ridcully的响应之后,我想问一下是否有一种方法可以更新,以便它知道JSON是一个数组。比如?
我怎么解决这个?
我正在学习youtube视频的改装,但现在我卡住了。它显示一个错误“reverfit expected begin_array but was begin_object at line 1 column 2 path$”我正在尝试从这个站点获取json数据。http://servicio-monkydevs.rhcloud.com/clientes/ ClientService.java clie
我使用django作为服务器端 在django中,我像这样返回Json 我不知道为什么会产生问题
错误:java.lang.IllegalStateException:应为begin_array,但为begin_object 我不知道怎么解决这个问题 我在这里包含了我的完整代码 这是我的JSON search_movie.class apiclient.java