【发布时间】:2017-03-31 16:32:34
【问题描述】:
我有一个未正确序列化的 json 数据。 我附上了预期的和坏的。
我需要处理错误的 json,获取正确的格式
预期
"channels": {
"heart-rate": {
"events": {
"type": "Project.Model.ChannelEvents.HeartRateChannelEvent, Project, Version=1.2.7.0, Culture=neutral, PublicKeyToken=null",
"structure": [
"beatsPerMinute",
"offset"
],
"list": [
[
40,
0
]
]
}
},
"location": {
"events": {
"type": "Project.Model.ChannelEvents.LocationChannelEvent, Project, Version=1.2.7.0, Culture=neutral, PublicKeyToken=null",
"structure": [
"latitude",
"longitude",
"offset"
],
"list": [
[
0.0,
0.0,
0
]
]
}
}
}
错误的json 这是需要在控制台应用程序中格式化的错误 json 数据
"channels": {
"heart-rate": {
"events": {
"$type": "System.Collections.Generic.List`1[[Project.Model.Activity+Channel+Event, Project]], mscorlib",
"$values": [{
"$type": "Project.Model.ChannelEvents.HeartRateChannelEvent, Project",
"beatsPerMinute": 40,
"offset": 0
}
]
}
},
"location": {
"events": {
"$type": "System.Collections.Generic.List`1[[Project.Model.Activity+Channel+Event, Project]], mscorlib",
"$values": [{
"$type": "Project.Model.ChannelEvents.LocationChannelEvent, Project",
"latitude": 0.0,
"longitude": 0.0,
"offset": 0
}
]
}
}
}
【问题讨论】:
-
请检查第一个发布的JSON数据,它包含错误。
-
你的坏 json 有什么不好?
-
@victor- 如果您查看第一个,我有结构和列表-我会看到错误数据中缺少的那些
-
你有序列化它的代码吗?
-
看起来这两个 JSON 字符串是使用不同的序列化器序列化的;最简单的事情是找出要使用的正确序列化程序是什么,然后使用理解它的序列化程序反序列化“坏”JSON,并使用“好”序列化程序重新序列化它。第一个 JSON 看起来很不标准,所以如果它是自定义代码,那么您需要复制或重用该代码。
标签: c# json serialization