草庐IT

json-dictionary

全部标签

c# - 在 C# 中反序列化 JSON 数组(或列表)

基本代码如下:publicstaticstringDeserializeNames(){jsonData="{\"name\":[{\"last\":\"Smith\"},{\"last\":\"Doe\"}]}";JavaScriptSerializerser=newJavaScriptSerializer();nameListmyNames=ser.Deserialize(jsonData);returnser.Serialize(myNames);}//Classdescriptionspublicclassname{publicstringlast{get;set;}}publ

c# - 在 WebAPI 中返回空的 json

当webApi返回null对象时,是否可以返回{}而不是null?这是为了防止我的用户在解析响应时出错。并使响应成为有效的Json响应?我知道我可以在任何地方手动设置它。当响应为null时,应返回一个空的Json对象。但是,有没有办法为每个响应自动执行此操作? 最佳答案 如果您正在构建一个RESTful服务,并且没有从资源中返回任何内容,我相信返回404(NotFound)会更正确比200(OK)用一个空的body回应。 关于c#-在WebAPI中返回空的json,我们在StackOve

c# - 将数组作为 JSON 发布到 MVC Controller

我一直在努力寻找解决这个问题的方法。在我的代码中,我正在构建一个对象数组;var$marks=[];varmark=function(x,y,counter){this.x=x;this.y=y;this.counter=counter;}$marks.push(newmark(1,2,0));$marks.push(newmark(1,2,1));$marks.push(newmark(1,2,2));现在我想将此数据发布到MVCController,所以我认为Controller中的数据类型应该是ListMarks或一组标记。为了发布数据,我试过了;varjson=JSON.str

c# - 使用 Newtonsoft JSON.NET 反序列化动态 Json 字符串

我有一个从FacebookAPI获取的JSON字符串,其中我有一个节点,其名称根据其内容而变化,例如有时是45或58等。它可以是任何数字。我想要它的值(value)。如何获得?示例:{"data":[{"id":"1492292372_10201810786059989","created_time":"2014-04-05T09:00:54+0000"},{"id":"1492292372_10201804679827337","created_time":"2014-04-04T07:29:07+0000"},{"id":"1492292372_10201804649306574"

c# - Json.net 反序列化列表给出重复项

我刚刚开始使用Newtonsoft.Json(Json.net)。在我的第一个简单测试中,我在反序列化通用列表时遇到了问题。在下面的代码示例中,我序列化了一个对象,其中包含三种类型的简单整数列表(属性、成员变量和数组)。生成的json看起来不错(列表被转换为json数组)。但是,当我将json反序列化回相同类型的新对象时,所有列表项都会重复,数组除外。我已经通过第二次序列化来说明这一点。通过四处搜索,我读到反序列化器也填充的列表可能有一个“私有(private)”支持字段。所以我的问题是:在以下情况下是否有一种(最好是简单的)方法来避免重复项?代码usingSystem;usingSy

c# - 将 Dictionary<MyType>.ValueCollection 转换为 IList<MyType>

我正在使用Dictionary在一个类(class)。该类实现了一个需要IList的接口(interface)被退回。有没有一种简单的方法可以将一个转换为另一个(无需复制整个内容)?我目前的解决方案如下:privateIListConvertToList(Dictionary.ValueCollectionvalueCollection){Listlist=newList();list.AddRange(valueCollection);returnlist;} 最佳答案 您需要复制一份,但这可能是件好事。在C#2中,您当前的代码几

c# - 无法加载文件或程序集 'Newtonsoft.Json,版本 = 3.5.0.0

我正在使用c#4.0阅读签名请求我正在使用以下代码FacebookAppfap=newFacebookApp();fap.AppId="789485219211963";//AppIDfap.AppSecret="365ee9f5823698536767d608cf572a49";stringrequested_Data=Request.Form["signed_request"];FacebookSignedRequestfsr=fap.ParseSignedRequest(requested_Data);IDictionarymyDic=fsr.Dictionary;stringn

c# - Json.NET StringEnumConverter 未按预期工作

我正在尝试将Json.NET与System.Net.Http.HttpClient一起使用以发送具有枚举属性的对象,但是枚举始终序列化为整数值而不是等效字符串。我已尝试按照此处的说明进行操作:http://james.newtonking.com/archive/2013/05/08/json-net-5-0-release-5-defaultsettings-and-extension-data通过将StringEnumConverter的实例添加到JsonSerializerSettings并尝试使用[JsonProperty(ItemConverterType=typeof(St

c# - 从 foreach 中的 Dictionary 中删除一个键会导致问题吗?或者我应该更好地构建一个新的词典?

例如:1.foreach(variteminmyDic){if(item.value==42)myDic.remove(item.key);}无论内部括号中的语句如何影响myDic,迭代器是否会正常工作?2.varnewDic=myDic.where(x=>x.value!=42).ToDictionary(x=>x.key,x=>x.value);第二种方法是好的做法吗?函数式编程和不可变? 最佳答案 第一种方法会在运行时崩溃,因为枚举器确保在枚举时没有人从基础集合中删除。第二种方法是一个不错的想法,但是C#字典是可变的,如果您可

c# - 在 C# 中循环遍历 json 数组

我有一个像这样的json字符串,{"objectType":"Subscriber","objectList":[{"firstName":"name1","email":"email@example.com","address":"exampleAddress"},{"firstName":"name2","email":"email2@example.com","address":"exampleAddress2"}]}我需要在我的C#代码中解析它。我试过了,JavaScriptSerializerjson_serializer=newJavaScriptSerializer();