【发布时间】:2019-09-29 22:00:00
【问题描述】:
我有一个 JSON,我将它发布到我的 WebAPI C# 应用程序。 我需要进一步处理这个 JSON 并将其中的数据保存到数据库表中。 JSON 看起来像这样,并且包含纬度和经度:
{
"lattitudes": [
48.75608,
48.75608,
48.75608,
48.75608,
48.75608,
],
"longitudes": [
48.75608,
2.302038,
48.75608,
48.75608,
48.75608,
]
}
请注意,JSON 包含 两个数字数组,而不是一个对象数组,每个对象具有 2 个属性。
我想做的是将这些“纬度”和“经度”数组写入列表/数组,然后使用 SQL“INSERT”语句对它们进行 foreach(我知道 - 这是非常讨厌的做法,但我不能不知道什么更聪明)。
如何将此 JSON 反序列化为两个 List<T> 列表,以便按照所述进行进一步处理?
【问题讨论】:
-
我不完全确定您的问题是什么。是 1) 反序列化第一个 JSON 样本吗? 2) 将第一个 JSON 样本翻译成第二个? 3)将第一个样本翻译成对数组? 4) 将第一个样本转换为一对数组,然后编写 SQL 查询以插入数据库?堆栈溢出约定是问one question per post所以尽量不要合并无关的请求。
-
正是您列出的 1) 问题。要将第一个 JSON 示例反序列化为两个列表,1JSONarray -> List no。 1, 2JSONArray -> 列表号 2
-
假设经度和纬度的位置相互关联(即第二个纬度与第二个经度配对),那么我不明白你为什么不只是循环通过它们匹配他们起来。你遇到的实际问题是什么?如果您想将它们插入 SQL 中,我认为您将它们保存在 2 个单独的列表中,这会让您的生活变得艰难,但任何一种方式都是可行的。
-
@KamilTurowski - 根据您的评论,我试图简化您的问题。如果我过于简单,请随时恢复。
-
Ben,问题在于微处理器必须为实际的 JSON 文件“预订”内存。我发现使用两个列表的方式对内存性能更好。我知道这个 JSON 看起来很糟糕,但我更喜欢它而不是在 uC 上玩动态创建。 @dbc,感谢您的简化,现在很完美;)