如何在 C# 中将非同构 json 转换为 dictionary<string,string>?

斯库拉姆斯

我正在做一个项目,我想将 json 数据转换为字典,但问题是 json 是非同质的。我正在使用 newtonsoft.json

这是JSON:

[{
    '_type': 'StatsItem',
    'Noofpostcomments': 0,
    'URL': 'https: //www.website.com/',
    'posts': 1,
    'Brand': 'Halfords',
    'Likes': 24884,
    'movedTo': 'FB',
    'sharing': 0,
    'talked': 94,
    'following': '24757',
    'Date': '27-Mar-2018',
    'unpopular': 0,
    'ID': '2453'
},
{
    '_type': 'StatsItem',
    'qualify': 53,
    'URL': 'https: //www.website.com/',
    'post': 3,
    'Brand': 'Kwik',
    'Likes': 32339,
    'movedTo': 'FB',
    'share': 128,
    'talk': 542,
    'followers': '31824',
    'Date': '27-Mar-2018',
    'bands': 240,
    'ID': '2453'
},
{
    '_type': 'StatsItem',
    'luck': 0,
    'URL': 'https: //www.website.com/',
    'bites': 0,
    'Brand': 'SEAT',
    'likes': 5329114,
    'movedTo': 'FB',
    'shares': 0,
    'talking': 552,
    'Followers': '5300000',
    'Date': '27-Mar-2018',
    'bands': 0,
    'ID': '2453'
},
{
    '_type': 'StatsItem',
    'spoofs': 1,
    'URL': 'https: //www.website.com/',
    'security': 1,
    'Brand': 'Honda',
    'fixes': 184065,
    'movedTo': 'FB',
    'shares': 15,
    'chat': 4251,
    'follow': null,
    'Date': '27-Mar-2018',
    'discussed': 102,
    'ID': '2453'
}]

这是代码:

Dictionary<string, string> columnDictionary = JsonConvert.DeserializeObject<Dictionary<string, string>>(jsonString);

也试过

JObject result = JObject.Parse(jsonString);

它给出了例外

Newtonsoft.Json.dll 中发生类型为“Newtonsoft.Json.JsonSerializationException”的未处理异常

附加信息:无法将当前 JSON 数组(例如 [1,2,3])反序列化为类型“System.Collections.Generic.Dictionary`2[System.String,System.String]”,因为该类型需要 JSON 对象(例如{"name":"value"}) 正确反序列化。

要修复此错误,请将 JSON 更改为 JSON 对象(例如 {"name":"value"})或将反序列化类型更改为数组或实现集合接口的类型(例如 ICollection、IList),例如可以从 JSON 数组反序列化。JsonArrayAttribute 也可以添加到类型以强制它从 JSON 数组反序列化。

路径 '',第 1 行,位置 1。

我哪里出错了,解决方法是什么?

硬编码

您可以将其解析为字典的数组(或列表): List<Dictionary<string, object>>

var list = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(jsonData);

foreach(var item in list)
{
    foreach(KeyValuePair<string, object> keyVal in item)
    {
        Console.WriteLine($"{keyVal.Key}: {keyVal.Value?.ToString()}");
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Golang中将[] string转换为[] float64?

来自分类Dev

如何在Java中将String []数组转换为InputStream

来自分类Dev

如何将PropertyInfo []转换为Dictionary <string,string>?

来自分类Dev

如何在Swift中将String类型的变量转换为CFString?

来自分类Dev

如何在Swift中将String转换为字节?

来自分类Dev

如何在Linq查询中将DateTime转换为String?

来自分类Dev

如何在Java中将String转换为Hashmap

来自分类Dev

如何在Java中将文化从int转换为String?

来自分类Dev

如何在C#中将List <char>转换为List <string>?

来自分类Dev

如何在字典中将IEnumerable <string>转换为IList <string>?

来自分类Dev

如何在Swift中将NSURL转换为String

来自分类Dev

如何在Swift(iOS,Xcode)中将NSDictionary转换为Json String?

来自分类Dev

如何在Java中将STRING转换为VARBINARY?

来自分类Dev

如何在Pony中将值强制转换为String?

来自分类Dev

如何在C ++中将std :: string转换为CV :: String?

来自分类Dev

如何在Swift中将String转换为NSUUID?

来自分类Dev

在bash中将String转换为JSON

来自分类Dev

如何将PropertyInfo []转换为Dictionary <string,string>?

来自分类Dev

如何在字典中将IEnumerable <string>转换为IList <string>?

来自分类Dev

在Swift中将String转换为JSON String

来自分类Dev

如何在C#中将Json数组转换为列表

来自分类Dev

在C#中将byte []转换为string []

来自分类Dev

如何将`Dictionary <string,Dictionary <string,List <MyCustomClass >>>`转换为`Dictionary <string,List <MyCustomClass >>>>

来自分类Dev

如何在Scala中将类型为Map [String,Map [String,Any]]的嵌套映射转换为JSON?

来自分类Dev

如何在C#3.5中将Dictionary <String,Object>转换为ArrayList

来自分类Dev

如何在Objective-C中将String转换为代码

来自分类Dev

C#对象强制转换为Dictionary <string,object>

来自分类Dev

如何在C#中将XML片段转换为Dictionary?

来自分类Dev

如何在打字稿中将 json 对象转换为 ReadOnlyMap<string, Foo>

Related 相关文章

  1. 1

    如何在Golang中将[] string转换为[] float64?

  2. 2

    如何在Java中将String []数组转换为InputStream

  3. 3

    如何将PropertyInfo []转换为Dictionary <string,string>?

  4. 4

    如何在Swift中将String类型的变量转换为CFString?

  5. 5

    如何在Swift中将String转换为字节?

  6. 6

    如何在Linq查询中将DateTime转换为String?

  7. 7

    如何在Java中将String转换为Hashmap

  8. 8

    如何在Java中将文化从int转换为String?

  9. 9

    如何在C#中将List <char>转换为List <string>?

  10. 10

    如何在字典中将IEnumerable <string>转换为IList <string>?

  11. 11

    如何在Swift中将NSURL转换为String

  12. 12

    如何在Swift(iOS,Xcode)中将NSDictionary转换为Json String?

  13. 13

    如何在Java中将STRING转换为VARBINARY?

  14. 14

    如何在Pony中将值强制转换为String?

  15. 15

    如何在C ++中将std :: string转换为CV :: String?

  16. 16

    如何在Swift中将String转换为NSUUID?

  17. 17

    在bash中将String转换为JSON

  18. 18

    如何将PropertyInfo []转换为Dictionary <string,string>?

  19. 19

    如何在字典中将IEnumerable <string>转换为IList <string>?

  20. 20

    在Swift中将String转换为JSON String

  21. 21

    如何在C#中将Json数组转换为列表

  22. 22

    在C#中将byte []转换为string []

  23. 23

    如何将`Dictionary <string,Dictionary <string,List <MyCustomClass >>>`转换为`Dictionary <string,List <MyCustomClass >>>>

  24. 24

    如何在Scala中将类型为Map [String,Map [String,Any]]的嵌套映射转换为JSON?

  25. 25

    如何在C#3.5中将Dictionary <String,Object>转换为ArrayList

  26. 26

    如何在Objective-C中将String转换为代码

  27. 27

    C#对象强制转换为Dictionary <string,object>

  28. 28

    如何在C#中将XML片段转换为Dictionary?

  29. 29

    如何在打字稿中将 json 对象转换为 ReadOnlyMap<string, Foo>

热门标签

归档