Tag: json

使用数字键访问JSON字段

我想访问JSON中的某些图片地址,但字段名称是一个数字,在c#中,数字不是变量的有效名称… 我的JSON: { “id”:3441, “name”:”test”, “address”: { “1”:”url.com\/45.jpg”, “2”:”url.com\/23.jpg”, “3”:”url.com\/65.jpg”, “4”:”url.com\/789.jpg”, }, “count”:2 } 我在C#中的代码:( HrmlResult是我的JSON) dynamic stuff1 = Newtonsoft.Json.JsonConvert.DeserializeObject(HtmlResult); string address= stuff1.address; //It Works string allPics = stuff1.pic; //It Works firstPicTextBox.Text= stuff1.pic.1; //compiler Error secondPicTextBox.Text = stuff1.pic[2]; //runtime Error 我该怎么办?! 谢谢你们…

如何阻止HTTP转义引号?

我正在使用C#将一些数据发送到运行PHP的Web服务器。 我正在POST数据中向服务器发送一个JSON格式的对象。 当它离开C#程序时,数据看起来像这样: json_text={“abc”:”hello”, “dfg”:”world”} 我让服务器使用echo $ _POST [‘json_text’]完全按照收到的数据打印数据; 该脚本输出以下内容: {\”abc\”:\”hello\”, \”dfg\”:\”world\”} 我不太熟悉如何将POST数据打包到HTTP数据包中。 我打开了WireShark来查看如何在POST数据中发送引号,看起来它们被替换为%22 。 但是,我尝试用%22替换我的引号,它并没有阻止引号在输出时被转义。 谢谢

我应该为TextBox控件的序列化数据指定哪种编码

假设我的WinForms应用程序中有一个TextBox 。 当用户单击按钮时,应用程序应通过TCP发送存储在此TextBox的序列化值。 对于序列化我正在使用Newtonsoft.Json库,如下所示: string json = JsonConvert.SerializeObject(credentials); 其中credentials是保存TextBox值的类的对象。 然后我需要通过TcpClient类通过网络发送它: TcpClient client = new TcpClient(IpAddress, Port); NetworkStream stream = client.GetStream(); // ??? 但我需要先将json字符串转换为字节数组,所以我必须指定一个文本编码。 我应该指定哪种文本编码非常安全? 我不能只将它设置为ASCII,因为用户可以输入unicode字符。

我可以在C#中反序列化包含0.0的JSON字符串吗?

我从Web服务返回的JSON有一个错误表示为0.0的整数。 我的反序列化代码如下所示: var serializer = new JsonSerializer(); var ret = serializer.Deserialize(jsonTextReader); 我收到这样的错误: 输入字符串’0.0’不是有效整数。 我的问题是,有没有办法指定一个不太严格的反序列化方法,以便我可以解析这个字符串? 编辑:Web服务没有返回架构,所以我不知道为什么反序列化器试图将其转换为int而不是float或double。

使用Json进行序列化后转义字符

使用ASP.Net Web API中的newtonsoft.json ,Y是我的对象以奇怪的方式序列化? var s = JsonConvert.SerializeObject(request, Formatting.None, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }); 输出字符串如下, “{\”head\”:{\”version\”:\”1.0\”,\”serial\”:\”20140102,6,125\”,\”skinId\”:\”Test\”” 我想将Json format字符串发送到第三方rest服务(它们只接受Json format )。 任何帮助深表感谢。 干杯S.

如何反序列化包含可变数量的对象的json对象并将它们作为C#中的键值集合?

如何反序列化以下JSON对象并获取Dictionary的集合,其中键(字符串)应该是方法名称,对象是C#中的详细信息。 { “methods”: { “password.2”: { “title”: “Password CustomerID”, “type”: “password” }, “ubikey.sms.1”: { “title”: “SMS”, “type”: “stepup”, “password”: “password.2”, “stepUp”: “sms” }, “tupas.test.1”: { “title”: “TUPAS Emulator”, “type”: “proxy” } } } 如果它是一个方法数组,我可以使用数组轻松地序列化它。 但由于这本身就是一个关键的价值对,我陷入困境。 我正在对特定的api进行WebRequest并将结果作为json。 用于序列化对象的代码来自https://msdn.microsoft.com/en-us/library/hh674188.aspx

Json.net捕获重复项并抛出错误

可能重复: Json.NET(Newtonsoft.Json) – 两个同名的“属性”? 我正在使用JSON.NET将JSON文件反序列化为字典。 现在我想做的是有以下几行: JsonConvert.DeserializeObject<IDictionary>(text); 如果JSON中有重复条目,则抛出exception,如下所示: { “ExampleText”: “Example 1”, “ExampleText”: “Example 2”, “ExampleText”: “Example 3”, } 标准的JSON.NET行为只是将“ExampleText”条目替换为JSON中最后一个条目。 是否可以抛出exception?

使用JsonConverter反序列化JSON字典值

我使用Json.NET库来反序列化JSON。 对于抽象类Foo我有一个自定义的JsonConverter 。 这是我使用它的方式: [JsonConverter(typeof(FooJsonConverter))] public Foo MyFoo { get; set; } 到现在为止还挺好。 当我在Dictionary中使用Foo类时会出现问题。 这是我的尝试: [JsonDictionary(ItemConverterType = typeof(FooJsonConverter))] public Dictionary MyFooDictionary { get; set; } 但上面给出了错误: 属性“JsonDictionary”在此声明类型上无效。 它仅对“类,接口”声明有效。 如何为Dictionary值指定转换器?

在JSON.NET中解析JSON数组

我在REST API响应中有JSON对象: { Result: [ { “id”: 1, “id_endpoint”: 1, “name”: “Endpoint 1”, “description”: “Endpoint 1”, “unit”: “mmol”, “minthreshold”: 30, “maxthreshold”: -15, “id_device”: 4, “value”: 7, “time”: “2016-12-24T21:20:19.000Z”, “address”: “Endpoint 1”, “id_user”: 1 }, { “id”: 2, “id_endpoint”: 1, “name”: “Endpoint 1”, “description”: “Endpoint 1”, “unit”: “mmol”, “minthreshold”: 30, “maxthreshold”: -15, “id_device”: 4, “value”: 6, […]

如何在没有参数的情况下调用c#方法并访问返回的数据?

所以我见过很多这样的例子: https : //stackoverflow.com/a/8094230/2525507 public class WebService : System.Web.Services.WebService { [WebMethod] public List getList() { return new List {“I”, “Like”, “Stack”, “Overflow”}; } } 您只需通过成功函数,您可以以警报的forms从c#方法查看返回的数据。 但是如果我想在函数调用之外访问这个“input + 1”数据怎么办呢,我该怎么做呢? 另外我不知道如何调用没有参数的方法? // Drop Down Menu to be populated $(function () { $.ajax({ url: ‘WebService.asmx/getList’, data: ‘{**NO PARAMETERS?!**}’, // should I also call JSON.stringify? type: ‘POST’, dataType: ‘json’, […]