class Model{
....
List<model2> model2s;
}
class Model2{
...
List<Model3> model3s;
}
...
我将一个Model实例转换为json字符串...这个json字符串的长度应该是可怕的...如何避免这个...谢谢
答案 0 :(得分:0)
除非您决定根据某些逻辑选择性地返回数据,否则您无法做到。想象一下,将它作为xml返回,它会更加“可怕”吗?还是我完全错过了你的问题?
另一方面。为什么你会担心结果JSON的复杂性。无论如何都会自动解析(通过JavaScript或Web服务的客户端)。
如果数据大小是您的最大问题,您可以做的是压缩您的回复。
答案 1 :(得分:0)
JSON的大小是一个有效的问题,特别是如果JSON正在由具有慢速(错)javascript引擎(例如旧IE)的浏览器中运行的javascript解析/使用。即使数据是通过线路压缩的,也只会影响传输。仍然必须在浏览器中解析完整的消息。
一些规则/建议:
首先,减少数据量 - 仅发送接收应用程序所需的数据。在您的情况下,具体而言,过滤掉消费应用程序不需要查看的model2s
和model3s
的任何实例。
如果无法过滤掉实例,则减少每个实例中的数据量 - 不要将每个字段编码为JSON。例如,如果model2s
有四个字段:name
,date
,summary
和author
,则客户端应用程序只需要name
和{ {1}},然后只发送date
和name
。
最后,从数据中删除冗余。如果数据被非规范化,并且date
具有正确属于Model2
的数据副本(例如),则仅发送具有Model
表示的数据。同样,如果Model
和Model2
之间的关系是多对多关系,则只发送Model3
数据的单个实例,并实现参考方案(例如YAML)副本。