Csharp/C#教程:JavaScriptSerializer:将列表+字符串序列化为JSON分享


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对象的最简单方法是创建一个类或动态对象,每个对象作为它的属性/字段。

类示例:

 public class ChatInformation { public IEnumerable messages; public string chatLogPath; } ... var output = new ChatInformation { messages = ..., chatLogPath = "path_to_a_text_file.txt" }; return json.Serialize(output); 

动态示例(需要.NET 4+):

 dynamic output = new ExpandoObject { messages = ..., chatLogPath = "path_to_a_text_file.txt" }; return json.Serialize(output); 

匿名类型示例(如果您不关心另一个类,也不在.NET 4上):

上述就是C#学习教程:JavaScriptSerializer:将列表+字符串序列化为JSON分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 var output = new { messages = ..., chatLogPath = "path_to_a_text_file.txt" }; return json.Serialize(output); 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/958738.html

(0)
上一篇 2021年11月23日
下一篇 2021年11月23日

精彩推荐