MJExtension icon indicating copy to clipboard operation
MJExtension copied to clipboard

有没有Map结构

Open wenjinfu321 opened this issue 4 years ago • 5 comments

项目中现在有一种数据结构就是Map结构, key相当于是id 任意的,value才是Model 但是这样的结构会嵌套好几层就算手动转成model了 ,再往回转成字典也很费劲,所以能否提供个方法支持这种结构

wenjinfu321 avatar Nov 16 '21 07:11 wenjinfu321

你写个例子吧?

话说你的 key 是 id... 然后转成字典..., 需求是要字符串还是什么呢? 没有个明确的类型, 如何用 Model 表示? 既然不能用 Model. 那你就还不如就用 Map 结构本身, 做一些适配或者自定义.

wolfcon avatar Nov 17 '21 06:11 wolfcon

你写个例子吧?

话说你的 key 是 id... 然后转成字典..., 需求是要字符串还是什么呢? 没有个明确的类型, 如何用 Model 表示? 既然不能用 Model. 那你就还不如就用 Map 结构本身, 做一些适配或者自定义.

这个id 说的就是随机的字符串 确实不能用Model表示,但是用 Map 结构本身, 做一些适配或者自定义.这个操作又很繁琐,所以能否提供跟YYModel一样的 可以解析这种格式的方法

wenjinfu321 avatar Nov 18 '21 13:11 wenjinfu321

你写个例子吧?

话说你的 key 是 id... 然后转成字典..., 需求是要字符串还是什么呢? 没有个明确的类型, 如何用 Model 表示? 既然不能用 Model. 那你就还不如就用 Map 结构本身, 做一些适配或者自定义.

{ "data" : { "blocks" : { "1e8747fd-7ff4-4688-9454-8f0f562ee4bd" : { "uuid" : "1e8747fd-7ff4-4688-9454-8f0f562ee4bd", "status" : 1, }, "59a5dce1-3ab9-4bcc-8c30-5dafca22eba6" : { "uuid" : "59a5dce1-3ab9-4bcc-8c30-5dafca22eba6", "status" : 1, }, "5d35fd94-9269-4ecc-9bd8-bf42c36936c7" : { "uuid" : "5d35fd94-9269-4ecc-9bd8-bf42c36936c7", "status" : 1, }, "b9c7bcd9-c266-45d3-b339-26c7565121f3" : { "uuid" : "b9c7bcd9-c266-45d3-b339-26c7565121f3", "status" : 1, }, "293ad111-39f8-4123-ae55-07a5d4d51d70" : { "uuid" : "293ad111-39f8-4123-ae55-07a5d4d51d70", "status" : 1, } }, "collectionViews" : {

}

}, "code" : 200 }

这只是个简单的例子,实际情况比这复杂的多,Map结构下还会嵌套Map

wenjinfu321 avatar Nov 18 '21 13:11 wenjinfu321

按道理来说这里的字典里有可能会包含不同类型的模型, 现有框架暂时是无法识别和转换的. 而且嵌套多层后, 上下一级如果都不同的话, 更加无法良好的适配.

对于这么复杂的 JSON 我建议拆解功能, 不要粗暴的使用这一种 JSON. 或者纯粹采用 Dictionary 进行操作. 或者手动处理这种类型, 使用框架的话, 可能事倍功半.

还有个疑问

你举的例子是用内层 UUID 作为外层的 Key. 复写 2 遍意义何在

wolfcon avatar Nov 19 '21 03:11 wolfcon

按道理来说这里的字典里有可能会包含不同类型的模型, 现有框架暂时是无法识别和转换的. 而且嵌套多层后, 上下一级如果都不同的话, 更加无法良好的适配.

对于这么复杂的 JSON 我建议拆解功能, 不要粗暴的使用这一种 JSON. 或者纯粹采用 Dictionary 进行操作. 或者手动处理这种类型, 使用框架的话, 可能事倍功半.

还有个疑问

你举的例子是用内层 UUID 作为外层的 Key. 复写 2 遍意义何在

谢谢解答,服务端认为直接返回数组代表有序,但是他们并不想排序,所以返回map结构,消除歧义,后续如果能像YYmodel那样解析这种格式的话,那就太完美了

wenjinfu321 avatar Nov 19 '21 05:11 wenjinfu321