我试过了:
NameValueCollection Data = new NameValueCollection();
Data.Add("foo","baa");
string json = new JavaScriptSerializer().Serialize(Data);
它返回:["foo"]
我期望{"foo" : "baa"}
如何执行此操作?
NameValueCollection
不是IDictionary,因此JavaScriptSerializer
无法直接将其序列化。您首先需要将其转换为字典,然后对其进行序列化。
更新
:关于每个键多个值的问题之后,对的调用nvc[key]
将简单地将它们返回,并以逗号分隔,这可能没问题。如果不是,则总是可以调用GetValues
并决定如何适当地使用这些值。更新了下面的代码以显示一种可能的方法。
public class StackOverflow_7003740
{
static Dictionary<string, object> NvcToDictionary(NameValueCollection nvc, bool handleMultipleValuesPerKey)
{
var result = new Dictionary<string, object>();
foreach (string key in nvc.Keys)
{
if (handleMultipleValuesPerKey)
{
string[] values = nvc.GetValues(key);
if (values.Length == 1)
{
result.Add(key, values[0]);
}
else
{
result.Add(key, values);
}
}
else
{
result.Add(key, nvc[key]);
}
}
return result;
}
public static void Test()
{
NameValueCollection nvc = new NameValueCollection();
nvc.Add("foo", "bar");
nvc.Add("multiple", "first");
nvc.Add("multiple", "second");
foreach (var handleMultipleValuesPerKey in new bool[] { false, true })
{
if (handleMultipleValuesPerKey)
{
Console.WriteLine("Using special handling for multiple values per key");
}
var dict = NvcToDictionary(nvc, handleMultipleValuesPerKey);
string json = new JavaScriptSerializer().Serialize(dict);
Console.WriteLine(json);
Console.WriteLine();
}
}
}
问题内容: 如何将JSON字符串简单地转换为C#,最好不使用第三方解析器? 问题答案: 我不确定为什么每个人仍然推荐JSON.NET来反序列化JSON。我写了一篇有关如何将JSON反序列化为C#的博客文章。 简而言之,它是这样的: 确保添加对System.Web.Extensions.dll的引用。 注意: 我通常反序列化为,所以我假设这会起作用。但是,我还没有验证它是否确实如此。
问题内容: 我在JS中有一个JSON对象,我想将其转换为字符串。这是功能吗? 提前致谢, 问题答案: JSON.stringify() 将值转换为JSON,如果指定了replacer函数,则可以选择替换值,如果指定了replacer数组,则可以选择仅包括指定的属性。
问题内容: 我想在我的swift项目中做一个将String转换成Dictionary json格式的函数,但是出现一个错误: 无法转换表达式的类型(@lvalue NSData,options:IntegerLitralConvertible … 这是我的代码: 我在Objective-C中实现此功能: 问题答案: 警告:如果出于某种原因必须使用JSON字符串,这是将JSON字符串转换为字典的便捷
问题内容: 我已经开始在golang中工作,我正在尝试解析JSON字符串以构建结构,但无法正常工作。 JSON字符串: 每日”:[{“ userAccessToken”:“ acessToken”,“ uploadStartTimeInSeconds”:1499744832,“ uploadEndTimeInSeconds”:1499744832,“ callbackURL”:“ callback
问题内容: 使用服务器端C#,如何将查询字符串转换为键和值的JSON字符串?例如,我想转换 至 我知道如何手动解析和格式化,但是在走那条路之前,我想问一下,因为可能有一个库可以做得更好。谢谢! 问题答案: 这给出了您想要的完全相同的json
我有一个RestController类,它有一个方法可以根据电影的标题搜索电影: 如果我发送一个json字符串 从邮递员到endpoint,我收到一个空白的回复。 然后我做了一个 就在进入方法后找到字符串filmSearch正是我从邮递员发送的JSON字符串。我的应用程序没有看到JSON和提取值从filmSearch在我的请求附加到应用程序内字符串filmSearch. 如果我移除 在请求映射的一