Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

有没有Map结构 #827

Open
wenjinfu321 opened this issue Nov 16, 2021 · 5 comments
Open

有没有Map结构 #827

wenjinfu321 opened this issue Nov 16, 2021 · 5 comments

Comments

@wenjinfu321
Copy link

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

@wolfcon
Copy link
Collaborator

wolfcon commented Nov 17, 2021

你写个例子吧?

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

@wenjinfu321
Copy link
Author

你写个例子吧?

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

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

@wenjinfu321
Copy link
Author

你写个例子吧?

话说你的 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

@wolfcon
Copy link
Collaborator

wolfcon commented Nov 19, 2021

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

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

还有个疑问

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

@wenjinfu321
Copy link
Author

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

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

还有个疑问

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

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

@wolfcon wolfcon added this to the 4.0.0 milestone Nov 23, 2021
@wolfcon wolfcon added this to To do in Refactor 4.0.0 Jan 11, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

No branches or pull requests

2 participants