Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android IntentService JSON到对象的转换_Android - Fatal编程技术网

Android IntentService JSON到对象的转换

Android IntentService JSON到对象的转换,android,Android,我正在实现一个IntentService,我将使用它来执行RESTful web服务调用,然后计划使用sendBroadcast来广播结果 我从web服务调用接收JSON 收到JSON字符串后,我不确定应该在哪里解析文本并使用GSON将其转换为对象。我最好将所有域对象打包,并在广播中发送对象,还是只发送JSON文本,并在实际需要对象时转换它们?还有其他建议吗 谢谢。这是个人喜好的问题,但我只编写自己的类来在JSON字符串和模型对象之间进行序列化和反序列化。与使用类似ORM的工具相比,编写代码可能

我正在实现一个IntentService,我将使用它来执行RESTful web服务调用,然后计划使用sendBroadcast来广播结果

我从web服务调用接收JSON

收到JSON字符串后,我不确定应该在哪里解析文本并使用GSON将其转换为对象。我最好将所有域对象打包,并在广播中发送对象,还是只发送JSON文本,并在实际需要对象时转换它们?还有其他建议吗


谢谢。

这是个人喜好的问题,但我只编写自己的类来在JSON字符串和模型对象之间进行序列化和反序列化。与使用类似ORM的工具相比,编写代码可能需要一点工作,但我发现它非常适合查找bug、更新键或嵌套层次结构


对于每个模型对象,我都有一个Translator类。例如,东西翻译。这样,我可以在活动之间传递字符串,我有一个位置可以序列化和反序列化,因此,如果有任何错误或需要更新ex、服务更改对象架构等内容,只有一个地方可以查看。

谢谢。我对将JSON解析为对象的方法不太感兴趣,而是我应该在哪里执行转换,尤其是在使用IntentService时。我应该广播一个对象,并在使用点转换,还是在意向价格内转换,并广播该对象或其他方法。我不知道我是否理解这个问题。如果是-我应该使用Parcelable还是只是手动序列化/反序列化我的对象,我会使用后者。我这样做的原因是我不希望我创建的每个模型类在类中都有包逻辑。我强烈支持SRP和代码的简单性,所以我的模型对象只是模型。序列化、验证等都是在外部完成的。Thing具有表示其目的的属性和方法,ThingTranslator、ThingValidator和ThingProvider执行其特定任务,等等