Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在c#/NETMF中创建JSON字符串?_C#_Json_String_Visual Studio 2010_.net Micro Framework - Fatal编程技术网

如何在c#/NETMF中创建JSON字符串?

如何在c#/NETMF中创建JSON字符串?,c#,json,string,visual-studio-2010,.net-micro-framework,C#,Json,String,Visual Studio 2010,.net Micro Framework,目前,我正在使用字符串值MyFinalJSON创建字符串 类似于MyFinalJSON+=“\”Name\”:\”“+myNameString+”\” 这似乎是一种用JSON格式编写的冗长/容易出错的方式 有没有更好/更合适的方法来创建JSON字符串?特别是当JSON字符串可能变得很长时 编辑 哦,很抱歉,我忘了提到我正在使用NetMF框架,因此在许多其他框架中,system.web…没有名称空间 非常感谢您的任何建议。您这样问是对的,因为这确实是实现这一目标的最长途径(尽管您可能已经通过谷歌搜

目前,我正在使用字符串值
MyFinalJSON
创建字符串

类似于MyFinalJSON+=“\”Name\”:\”“+myNameString+”\”

这似乎是一种用JSON格式编写的冗长/容易出错的方式

有没有更好/更合适的方法来创建JSON字符串?特别是当JSON字符串可能变得很长时

编辑 哦,很抱歉,我忘了提到我正在使用NetMF框架,因此在许多其他框架中,
system.web…
没有名称空间


非常感谢您的任何建议。

您这样问是对的,因为这确实是实现这一目标的最长途径(尽管您可能已经通过谷歌搜索了它,并在几分钟内找到了您的解决方案)

然而,这被称为序列化:

using System.Web.Script.Serialization;

var myNameString = "DeeMac";
var myObject = { Name: myNameString };
var json = new JavaScriptSerializer().Serialize(myObject);

注意:有几个不同的序列化库。

尝试使用JavascriptSerializer或NewtonSoft库。。。 对于JavascriptSerializerClass,DeeMac的答案看起来不错:)

对于NewtonSoft库的示例,请参见链接上的文档:

使用或从中下载并解压缩文件

Github:

根据文档,这里是用法

string json = JsonSerializer.SerializeObject(o, DateTimeFormat.Default);

最佳实践是使用.NETmake对象的现有JSON库,然后将其序列化+1,您已经展示了现有代码以及改进它的努力。不过,正如我在回答中所说,如果你用谷歌搜索你自己的标题,你会发现很多答案。谢谢你的建议,这些对.NET来说是很好的-但是我忘了提到我使用的是NETMF,所以它稍微有点难。怎么样?@DeeMac-谢谢你的建议,但我不能使用System.Web.Script.Serialization,因为它在NETMF框架上不可用:(@jbutler483-我相信你从最初的问题开始就编辑了。恐怕我没有NETMF的经验来修改答案。我认为Yuliam Chandra的评论可能是你需要的帮助。在语法上与你上面看到的非常相似:这似乎有效:)谢谢@Yuliam!
string json = JsonSerializer.SerializeObject(o, DateTimeFormat.Default);