C# 如何在C中将列表转换为JSON?

C# 如何在C中将列表转换为JSON?,c#,json,C#,Json,我有一份市州清单: City_State[0].Range="\"city\":\"REDMOND\",\"state\":\"AK\""; City_State[1].Range="\"city\":\"Alex City\",\"state\":\" 如何将其转换为json,如下所示: var _pairs = new { criteria = new { cities = new[] { new { city = "REDMOND", state = "WA" },

我有一份市州清单:

City_State[0].Range="\"city\":\"REDMOND\",\"state\":\"AK\"";
City_State[1].Range="\"city\":\"Alex City\",\"state\":\"
如何将其转换为json,如下所示:

var _pairs = new
{
    criteria = new { cities = new[] { new { city = "REDMOND", state = "WA" }, 
     new { city = "Alex City", state = "AL" } } 
} ;
我尝试了下面的代码,但不起作用:

var _pairs = new { criteria = new { cities = new[] { _paged_City_State.ToArray() } }  };

如果您有这些课程:

public class CityStateRaw
{
    public string Range { get; set; }
}

public class CityState
{
    public string City { get; set; }
    public string State { get; set; }
}
以下代码将起作用:

var ranges = new[]
{
    new CityStateRaw { Range = "{\"city\":\"REDMOND\",\"state\":\"AK\"}" },
    new CityStateRaw { Range = "{\"city\":\"Alex City\",\"state\":\"foo\"}" },
};

var list = ranges
    .Select(raw => JsonConvert.DeserializeObject<CityState>(raw.Range))
    .ToList();

但是,如果这与您的期望不符,您应该更具体地说明您的确切输入和预期输出应该是什么。

如果您还没有读过这篇文章,请阅读。下面的json:……但您在下面输入的不是json,而是C。它看起来确实像City_State数组中每个项的Range属性,无论它来自何处,都包含类似于json的部分转义位的内容。但由于它的不完整性和转义,您将无法轻松解析它。您确实需要向我们澄清您使用的数据以及您希望最终结果是什么。不工作的信息不足以让我们帮助您。请明确说明您的问题,包括任何错误消息和意外输出。range属性中的文本不是有效的json。它缺少开头和结尾的大括号。我想将City_State数组值转换为CitiesA,还有你的标题和你的文字告诉我们如何从C类转换为JSON,但是您的代码示例显示了更多关于如何从JSON转换为C的信息。因此,请更简洁地说明您的具体输入是什么—一个具有填充属性值的类或一个JSON字符串,以及所需的输出是什么—一个具有填充属性的类或一个JSON字符串—我试过了。。但列表值中的范围值为空?