Tag: json

使用gson:MalformedJsonException解析Json File

我想读一个像JSON-File一样的字符串并在屏幕上打印。 因此我使用的是GSON-Library。 每次我想编译时,我在线程“main”com.google.gson.JsonSyntaxException错误中得到一个exception 我的代码看起来像这样 public class Test { public static void main(String… args) throws Exception { String json = “{” + “‘tag_name’ : ‘M mit Mbrunnen’,” + “‘tag_id’ : ‘de_bw_xx_mstall’,” + “‘tag_description’: ‘false’,” + “‘tag_latitude’: ‘42.704895’,” + “‘tag_longitude’: ‘10.652187’,” + “‘tag_description_f_a’: ‘Ein weiteres Highlight in H’,” + “}”; // Now do the magic. Data data […]

使用C#中的Newtonsoft反序列化嵌套的JSON对象

这是我正在尝试反序列化的示例JSON字符串: { “background”: “#ededf0”, “theme”: “Flat”, “name”: “Control Page Name”, “scriptName”: “Control Page Script”, “objects”: [{ “ID”: “76799598”, “position”: { “top”: 0.30428571428571427, “left”: 0.6054421768707483 }, “width”: 0.09451596023024594, “height”: 0.07450128571428571, “label”: “btn”, “colour”: “blue”, “action”: “OpenLayout”, “actionParams”: { “actionName”: “Explorer”, “itemId”: “91d5bfff-a723-498a-a846-24a9e41fbaa6”, “groupId”: “bf434b0d-90c2-496a-96ce-c09f228255b4” } }] } 我似乎无法遍历JSON的“对象”关键节点值。 之前的一切都很好(背景,主题,名称和scriptName)。 这是我的转换器 { JObject panel = (JObject)serializer.Deserialize(reader); var […]

循环通用对象属性

我有一个存储在数据库中的JSON字符串,如下所示: { “Error”: “Lol”, “ErrorDate”: “2016-05-13T10:43:27.6365795Z”, “Application”: “Business”, “UserName”: “Josh”, “TraceSession”: “moo” } 表中的每个项目的JSON字符串都不同。 在我的应用程序中,我想将其反序列化为一个对象,但由于JSON始终不同,我无法创建模型。 目前我有这个: var jObject = JsonConvert.DeserializeObject(FieldNames); 我认为可以工作,但现在我需要遍历属性以获取密钥名称和值。 我试过这个: // For each property in our oject foreach (var key in jObject.GetProperties()) { // Create a list var list = new List(); list.Add(key.GetValue()); // Add our substitution email.AddSubstitution($”–{ key.ToUpper() }–“, list); } 但它失败了,因为 […]

使用DataContractJsonSerializer读取JSON

我正在开发一个访问TMDb的应用程序。 我使用DataContractJsonSerializer类来读取TMDb API返回的数据。 API有一种方法可以返回一个JSON,它看起来像: {“id”:550,”favorite”:false,”rated”:false,”watchlist”:false} 或者喜欢: {“id”:49521,”favorite”:false,”rated”:{“value”:5.5},”watchlist”:false} 如您所见,第一个JSON中的额定字段是布尔值,而第二个中的额定字段则不是。 有没有一种很好的方法来处理这个JSON? 谢谢你的帮助 编辑:阅读JSON: [DataContract] public class JsonModelBase where T : class, new() { public T DesterilizeJson(String jsonContent) { var bytes = Encoding.UTF8.GetBytes(jsonContent); using (var stream = new MemoryStream(bytes)) return DesterilizeJson(stream); } public T DesterilizeJson(Stream jsonStream) { var serializer = new DataContractJsonSerializer(typeof(T)); return (T)serializer.ReadObject(jsonStream); } } [DataContract] public […]

如何使用DataContractJsonSerializer将字符串数组序列化为JSON?

这似乎与下面的问题相同,但答案尚未解决: 反序列化一个简单的JSON数组 我正在使用DataContractJsonSerializer将XML转换为JSON,反之亦然。 一切都适用于复杂的数据类型和复杂数据类型的数组,但我遇到了为字符串数组生成JSON的问题。 我需要生成的JSON应该具有以下结构: { “data”: { “x_axis”: { “labels”: [ “Jan”, “Feb”, “Mar”, “Apr”,”May”, “Jun”, “Jul”, Aug”,”Sep”, Oct”, “Nov”, “Dec” ] } } } 我使用的对象是: – LineChartData: [DataContract] public class LineChartData { [DataMember(Name = “x_axis”)] public LineChartXAxis XAxis { get; set; } } LineChartXAxis: [DataContract] public class LineChartXAxis { [DataMember(Name = “labels”)] public […]

JavaScriptSerializer:将列表+字符串序列化为JSON

我想使用JavaScriptSerializer发送一个JSON数据包,其中包含一个对象列表以及一个标识为ChatLogPath的字符串。 据我所知,该类只能序列化一个对象 – 作为列表 – 如果我尝试追加多个对象,它显然只会创建无效的JSON,如{…} {…}工作。 有没有办法做到这一点? 我是C#和ASP.NET MVC的新手,所以请原谅我,如果这是一个愚蠢的问题:) 编辑:这是我现在的代码。 string chatLogPath = “path_to_a_text_file.txt”; IEnumerable q = … … JavaScriptSerializer json = new JavaScriptSerializer(); return json.Serialize(q) + json.Serialize(chatLogPath); 这将在JSON {…}中输出这样的数组,然后是chatLogPath {…}。 换句话说,它无法工作,因为那是无效的JSON。

将Json反序列化为对象和子对象以进行返回

还不太熟悉JSON,并且遇到了一个对我来说不明显的问题。 我正在查询的api返回一个标准的响应对象,其中处理的命令/ api请求的结果嵌入在json中的数据对象中。 因此,对于API上的所有请求,响应如下所示,数据组件的变化取决于所请求的内容。 ObjectType1响应 { “data”: { “person” : { “id” : 21, “name” : “Json can be annoying at times” } }, “message” : “”, “result” : “success” } 或者关于api的其他请求将返回以下列表 ObjectType2响应 { “data”: { “1234” : { “id”: 1234, “title” : “Terminator” }, “3245” : { “id” : 3245, “name” : “Terminator 2” […]

如何从.NET数据结构创建“锯齿状”对象的JSON数组

作为LINQ-to-Entities投影的结果,我最终得到了一个List ,如下所示,我手动创建它: List data = new List(); data.Add(new ChartDataRecord { date = 1370563200000, graph = “g0”, value = 70 }); data.Add(new ChartDataRecord { date = 1370563200000, graph = “g1”, value = 60 }); data.Add(new ChartDataRecord { date = 1370563200000, graph = “g2”, value = 100 }); data.Add(new ChartDataRecord { date = 1370563260000, graph = “g0”, […]

使用Json.Net序列化哈希表

我有一个哈希表,其键的类型为整数,但是当使用json.net进行反序列化时,键会以字符串forms返回,有没有办法使用json.net序列化/反序列化将键类型保留在哈希表上? 此哈希表是“MyType”类型的属性 var settings = new JsonSerializerSettings(); settings.TypeNameHandling = TypeNameHandling.Objects; string json = JsonConvert.SerializeObject(o, Formatting.Indented, settings); mo = JsonConvert.DeserializeObject(json, new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.Objects }); public Hashtable jsonViews { get { return mViews; } set { mViews = value; } }

循环遍历多个JObject级别并以字符串forms收集信息

我正在使用以下代码从URL收集Json数据。 var json = new WebClient().DownloadString(“http://steamcommunity.com/id/tryhardhusky/inventory/json/753/6”); JObject jo = JObject.Parse(json); JObject ja = (JObject)jo[“rgDescriptions”]; int cCount = 0; int bCount = 0; int eCount = 0; foreach(var x in ja){ // I’m stuck here. string type = (Object)x[“type”]; } CUAI.sendMessage(“I found: ” + ja.Count.ToString()); 一切都运作良好,直到我得到foreach声明。 这是JSON数据的片段。 { “success”: true, “rgInventory”: { “Blah other stuff” }, […]