我如何使用moshi解析一个在编译时具有未知键的json结构:"foo":{"name":"hello","bar":{"unknownKey1":{"a":"1"}},"unknownKey2":{"b":"2"},"unknownKeyX":{"c":"X"}},"properties":{...}}我尝试为JSONObject使用@FromJson适配器,但日志只是说json是空的{}(我希望的是{"unknownKey1":{...等等...})classFoo{@Json(name="name")Stringname;@Json(name="bar")Barbar;stati
有谁知道让moshi生成带缩进的多行json的方法(供人类在config.json的上下文中使用)所以来自:{"max_additional_random_time_between_checks":180,"min_time_between_checks":60}像这样:{"max_additional_random_time_between_checks":180,"min_time_between_checks":60}我知道其他json-writer实现可以这样做-但我想在这里坚持使用moshi以保持一致性 最佳答案 现在您可
我使用Moshi,但我需要用有缺陷的后端来解决我的问题。有时,当我请求对象列表时,其中一些不包含必填字段。当然,我可以捕获并处理JsonDataException,但我想跳过这些对象。我怎样才能用Moshi做到这一点?更新我有几个模型可以完成我的任务@JsonClass(generateAdapter=true)dataclassUser(valname:String,valage:Int?)@JsonClass(generateAdapter=true)dataclassUserList(vallist:List)和错误的JSON{"list":[{"name":"John","ag
为Android项目配置Kotlin后,我写了一个简单的MainActivity.kt。它调用Retrofit获取包含以下数据的JSON文件:{"message":"success","user":{"username":"Eric"}}现在我想使用Moshi将JSON数据转换为Kotlin的类,所以这里有两个类来反射(reflect)上面的JSON结构:classUser(varusername:String)classUserJson(varmessage:String,varuser:User)以及Moshi的自定义类型适配器:classUserAdapter{@FromJson
我有这个模型:classModel1{varattributes:Map?=null}我希望得到这些模型的列表。示例JSON:[{"attributes":{"title":"NewYear'sDay","country":"SG"}},{"attributes":{"staff_id":320011,"title":"Laborday","date_joined":"2017-01-1000:00:00","years":1}}]然后我在反序列化过程中得到这个错误:Causedby:java.lang.IllegalArgumentException:ExpectedaClass,P
我这样构建我的Retrofit实例:Retrofitretrofit=newRetrofit.Builder().baseUrl(server.url("/")).addConverterFactory(MoshiConverterFactory.create(moshi)).build();然后我这样调用我的MockWebServer实例:server.enqueue(newMockResponse().setBody(jsonStr));jsonStr是这样构建的:MyModelmodel=newMyModel("HOME","AWAY","ENTERTAIN","NIGHT","
这是我拥有的JSON示例filter:[{category:[]},{sub-category:[]},{brand:[]},{color:[]}]请注意标签“category,subcategory...”可能会动态变化我如何使用Moshi解析此JSON? 最佳答案 将其解码为Map.映射键将是您的JSON的值。您可以像这样获得该适配器:Typemap=Types.newParameterizedType(Map.class,String.class,Object.class);JsonAdapter>adapter=moshi.
我正在获取一个包含通用成员的JSON对象(数据可以是几种不同的类型)。该类目前看起来像这样:@ParcelizedataclassChildren(@Json(name="type")valtype:String,@Json(name="data")valdata:T):Parcelable如何使用moshi反序列化/映射正确的对象类型?@ParcelizedataclassComment(@Json(name="replies")valreplies:Children,@Json(name="count")valcount:Int,@Json(name="children")valc
我正在尝试将元素的HashMap转换为JSON字符串。我正在使用此link中使用的方法.valelementsNew:HashMap=HashMap(elements)valtype=Types.newParameterizedType(Map::class.java,String::class.java,Element::class.java)varjson:String=builder.adapter(type).toJson(elementsNew)但是这给出了以下错误Error:(236,40)Typeinferencefailed:Notenoughinformationto
我只需要“照片”数组。我的JSON看起来像这样:{"photos":{"page":1,"pages":"1000","perpage":1,"total":"1000","photo":[{"id":"44049202615","owner":"159796861@N07","secret":"cb8f476a4d","server":"1958","farm":2,"title":"Murugan","ispublic":1,"isfriend":0,"isfamily":0}]},"stat":"ok"}我是Moshi/Retrofit的新手。我看到了this但我还不太明白如何让