首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将复杂Json中的字典转换为list<string>

将复杂Json中的字典转换为list<string>
EN

Stack Overflow用户
提问于 2016-02-18 17:00:09
回答 1查看 91关注 0票数 0

我有一个JSON字符串,包含用于解析的字典和列表,有一个函数可以将列表类型从JSON字符串转换为字典。我需要编写一个将Dictionary类型转换为List类型的函数。做这件事最有效的方法是什么?

例如..。

假设这是我的示例json字符串-

代码语言:javascript
复制
"{\"foo1\":{\"0\":\"0\",\"1\":\"S\",\"2\":\"S\",\"3\":\"J\",\"4\":\"Q\",\"5\":\"X\",\"6\":\"M\"},\"foo2\":{\"1\":\"one\" ,\"2\":\"two\",\"4\":\"four\",\"5\":\"five\",\"6\":\"six\",\"7\":\"seven\",\"8\":\"eight\"}"

这是一种从此处获取字典值并将其转换为字符串列表的有效方法。

EN

回答 1

Stack Overflow用户

发布于 2016-02-18 18:48:59

代码语言:javascript
复制
    using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication11
{
    class Program
    {

        static void Main(string[] args)
        {
            string JSONIncludeBackslash = "{\"foo1\":{\"0\":\"0\",\"2\":\"S\",\"3\":\"J\",\"4\":\"Q\",\"5\":\"X\",\"6\":\"M\"},\"foo2\":{\"1\":\"one\",\"7\":\"seven\",\"8\":\"eight\"}}";
            Dictionary<string, string> JSONDictionary = JSONIncludeBackslash.Replace("\"", "").Replace(":{", "*").Replace("},", ",").Replace("}}", "").Replace("{", "").Replace("}", "").Split(',').ToDictionary(value => { return value.Split(':')[0].IndexOf("*") > -1 ? value.Split(':')[0].Split('*')[1] : value.Split(':')[0]; });

            Dictionary<string, string> JSONDictionary1 = JSONIncludeBackslash.Replace("\"", "").Replace(":{", "*").Replace("},", ",").Replace("}}", "").Replace("{", "").Replace("}", "").Split(',').ToDictionary(value => { return value.Split(':')[0].IndexOf("*") > -1 ? value.Split(':')[0].Split('*')[1] : value.Split(':')[0]; });
            foreach (var Entry in JSONDictionary1)
            {
                JSONDictionary[Entry.Key] = Entry.Value.Split(':')[1];
            }

            IList<KeyValuePair<string, string>> JSONList = JSONDictionary.ToList();
            foreach (var Item in JSONList)
            {
                Console.WriteLine(Item);
            }
            Console.ReadLine();
        }
    }
}

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35476878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档