Tag: json

如何使用WebBrowser控件捕获JSON响应

我使用WebBrowser.Navigate()到网站的JSON响应URL。 一切顺利,包括被调用的webBrowser1_DocumentCompleted()事件处理程序。 但是,我没有获得可以以编程方式处理的“安静”响应(例如webBrowser1.Document ),而是收到“文件下载”对话框: 如果我单击“ Save按钮并稍后检查该文件,它将包含我期望的JSON响应。 但我希望程序在代码中捕获此JSON响应,而不显示该对话框并且必须单击“ Save按钮。 如何使用WebBrowser控件捕获JSON响应? 注意:在发布这个问题之前,我搜索了所有我发现的是一个类似的问题,接受的答案并没有真正解释如何做到这一点(我已经处理了webBrowser1_DocumentCompleted )。 有小费吗? 更新:到目前为止,我的所有搜索都没有使用WebBrowser控件来获取JSON响应。 也许我接近这完全错了? 我错过了什么?

如何在MongoDB中的文档内聚合数组并获取多个条件的计数?

我正在编写一个程序,该程序接收车辆刷新数据的XML文件并将其转换为JSON,以便将其存储在MongoDB数据库中。 XML的开头是这样的: PASSED PASSED 在我将其转换为JSON并添加项目标识符之后,我留下了一个像这样的格式: { “FlashReportGeneratorAddedTag” : { “VehicleEntry” : [ { “VehicleStatus” : “PASSED” }, { “VehicleStatus” : “PASSED” } ] }, “project_id” : “1234” } 我想做的是获得项目1234的每个文件中通过的车辆总数和车辆数量的总数,但我没有运气。 我已经尝试过使用我所知道的基本聚合技能,但我不能简单地按project_id进行分组,因为当我需要聚合其中的数组时,它会按文档分组。 我还没有找到任何资源告诉你是否可以或不能一次聚合两个值(获得传递的总和和失败计数的总和)。 作为最后的手段,我可​​以改变文档样式,让每个VehicleEntry都是它自己的文档,但是如果可以的话,我想采用并存储XML。 编辑使用Unwind我能够为我正在寻找的数组设置聚合: var aggregate = collection.Aggregate().Match(new BsonDocument { { “project_id”, “1234” } }).Unwind(i => i[“FlashReportGeneratorAddedTag.VehicleEntry”]); 但是,我找不到合适的方法对这些进行分组,以便在整个arrays中获得通过/失败计数。 我假设有一些方法我需要使用匹配function,但我不知道如何做到这一点,而不排除这两个条件之一。 我是否必须运行聚合两次,一次是传递,一次是失败?

使用asp.net库反序列化json

我目前正在尝试在没有javascript反序列化器的情况下在silverlight中反序列化以下JSON输出。 我听说有一种方法可以使用JsonArray和LINQ来做到这一点,但我无法弄明白。 { “Security”: { “CIK”: “0000789019”, “Cusip”: “594918104”, “Symbol”: “MSFT”, “ISIN”: “US5949181045”, “Valoren”: “951692”, “Name”: “Microsoft Corporation”, “Market”: “NASDAQGS”, “CategoryOrIndustry”: “TECHNOLOGY”, “Outcome”: “Success”, “Message”: null, “Identity”: null, “Delay”: 0 }, “StartDate”: “7/1/2011”, “EndDate”: “7/6/2011”, “Quotes”: [{ “Date”: “7/5/2011”, “Last”: 26.03, “Open”: 26.1, “LastClose”: 26.02, “High”: 26.15, “Low”: 25.9, “ChangeFromOpen”: -0.07, “PercentChangeFromOpen”: -0.268, “ChangeFromLastClose”: 0.01, […]

NullValueHandling.Ignore与JsonConverter :: WriteJson

我正在尝试执行自定义序列化,所有快乐路径代码都可以工作,但是空值路径不符合我的要求。 我已将序列化程序设置设置为NullValueHandling.Ignore并且我的对象图的其他部分为空(并且不使用我的自定义序列化),删除了空值。 看起来像Newtonsoft序列化程序写入字符串生成器所以我们应该能够“回放”任何书面的json标记但我不知道如何不写任何东西。 什么都不做,只是返回导致序列化程序抛出exception,因为json无效。 有什么线索吗? public class SpecialConvertor : JsonConverter { public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { if (value == null || (int)value == 0) { if (serializer.NullValueHandling == NullValueHandling.Ignore) { //how to make this work? } else { writer.WriteNull(); } return; } // the rest of WriteJson } // the […]

在WebApi后端加密Json结果

我用数据描述完成了我的web api,但现在,我必须编写Json结果。 当我在浏览器上放置查询字符串时,现在我有了答案(示例): [{ “SUSPID”: “111”, “IVNOME”: “睾丸中”, “IVMAE”: “睾丸中”, “IVPAI”: “睾丸中”, “IVDATANASC”: “1970年2月7日”, “IVRG”: “0000(IFP)”,“ICPF”:“NãoCadastrado”}] 我无法certificate这一点……我必须表现出(加密):[{“SUSPID”:“AUAUAUA”,“IVNOME”:“UAUAU”,“IVMAE”:“UAUAU”,……] 我看到一些例子,但我找不到一个我需要的东西 我服务的部分代码(Cliente-side): var response = await client.GetAsync(urllink); var JsonResult = response.Content.ReadAsStringAsync().Result; if (typeof(T) == typeof(string)) return null; var rootobject = JsonConvert.DeserializeObject(JsonResult); return rootobject; 在我的控制器(web api BackEnd)中,我返回此数据集: return lretorno.Tables[0].AsEnumerable().Select(row => new Envolvido { SUSPID = Convert.ToString(row[“SUSPID”]), IVNOME = Convert.ToString(row[“SUSPNOME”]), […]

如何从json流中反序列化多个对象?

好的,我之前已经问了类似这样的问题,但这是一个不同的主题,所以我觉得我应该做一个关于它的新话题。 对不起,如果这是我不应该做的事情…… 无论如何: 我正在阅读twitterfeed并试图将其转换为丢失(状态)对象。 我现在的代码如下,但失败了: webRequest = (HttpWebRequest)WebRequest.Create(stream_url); webRequest.Credentials = new NetworkCredential(username, password); webRequest.Timeout = -1; webResponse = (HttpWebResponse)webRequest.GetResponse(); Encoding encode = Encoding.GetEncoding(“utf-8”); responseStream = new StreamReader(webResponse.GetResponseStream(), encode); int i = 0; //Read the stream. while (_running) { jsonText = responseStream.ReadLine(); byte[] sd = Encoding.Default.GetBytes(jsonText); stream.Write(sd, i, i + sd.Length); try { status s = […]

在Windows 8 C中使用Windows.Data.Json解析Json#

这是我要解析的json字符串。 我使用Windows 8中提供的默认Json函数 JSON值: “{\”updated_at\”:1405482225,\”settings\”:{\”conception_mode\”:1,\”app_lock_string\”:\”\”,\”user_cycle_length\”:21,\”week_starts_monday\”:1}}” 我的示例代码: JsonObject test1 = JsonObject.Parse(received); var timestamp = test1.GetNamedValue(“updated_at”).GetNumber(); settingsTimestamp = (long)(Convert.ToDouble(timestamp)); string settingString = test1.GetNamedValue(“settings”).GetString();//ERROR JsonObject settingsVal = JsonObject.Parse(settingString); 我得到“updated_at”值,但当我尝试检索“设置”时,它抛出exception说,它不是一个字符串。 对于Windows Phone,我已经使用了JSON.NET库,所以事情变得容易一些。 我如何在Windows8中解析它

JSON到DataTable

我正在尝试将JSON文本序列化为DataTable,如下所示。 List<Dictionary> list = JsonConvert.DeserializeObject<List<Dictionary>>(jsonText); DataTable dTable; dTable = (from p in list select p).CopyToDataTable(); 我收到以下错误。 我如何解决它? 错误: Cannot deserialize JSON object into type ‘System.Collections.Generic.List`1[System.Collections.Generic.Dictionary`2 [System.String,System.String]]’.

将Json.NET对象转换为传统的.NET对象,而不知道类型

如何将Json.NET对象转换为传统的.NET类型( JArray of string to List , JTokenType=Integer to int等)? 我发现使用AutoMapper或JToken.ToObject建议很少。 当在编译时知道JSON结构时,这是一个很好的建议,但是我不能创建一个表示未知数据的类,或者在我不知道底层类型时指定转换。 Json.NET没有“ConvertToWhateverIsProbablyMostAppropriate()”成员。 🙂 那么为什么不只是通过JWhatever枚举JWhatever对象,让它们保持原样? 因为我不能将这些类型作为参数传递给(比如)Dapper,它不知道来自spoo的JToken 。

删除JSON和Update JSON中的Null值

我通过使用Newtonsoft序列化列表将JSON数组作为字符串,如下所示 [{“ID”:”1″,”Name”:”somename”,”Class”:”12″,”Section”:null},{“ID”:null,”Name”:”somename”,”Class”:”13″,”Section”:null},{“ID”:2,”Name”:”somename”,”Class”:null,”Section”:”A”}] 我需要通过将NULL值转换为另一个JSONString来转换此JSON,如下所示 [{“ID”:”1″,”Name”:”somename”,”Class”:”12″,},{“Name”:”somename”,”Class”:”13″,},{“ID”:2,”Name”:”somename”,”Section”:”A”}] 有没有办法可以使用Newtonsoft或者我如何使用它。