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

时间:2014-08-14 09:50:39

标签: c# json string visual-studio-2010 .net-micro-framework

目前,我使用字符串值MyFinalJSON来创建字符串。

MyFinalJSON += "\"Name\":\"" + myNameString +"\"";

之类的

这似乎是一种用JSON格式编写的非常长篇大论/错误的写法。

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

修改  哦对不起我忘了提到我正在使用NetMF框架,因此没有system.web...的命名空间,以及其他许多

任何建议都非常感谢。

3 个答案:

答案 0 :(得分:1)

你这是对的,因为它确实是实现这一目标的最长方式(尽管你可能会谷歌并在几分钟内找到你的解决方案)。

然而,它被称为序列化:

using System.Web.Script.Serialization;

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

注意:有一些不同的序列化库。

答案 1 :(得分:1)

使用json.netmf或从here

下载并解压缩文件

Github:https://github.com/mweimer/Json.NetMF

从文档中,这是用法。

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

答案 2 :(得分:-3)

尝试使用JavascriptSerializer或NewtonSoft库... 对于JavascriptSerializerClass,DeeMac的答案看起来很好:)

关于NewtonSoft库的示例根据this链接上的文档:

Product product = new Product();
product.ExpiryDate = new DateTime(2008, 12, 28);

JsonSerializer serializer = new JsonSerializer();
serializer.Converters.Add(new JavaScriptDateTimeConverter());
serializer.NullValueHandling = NullValueHandling.Ignore;

using (StreamWriter sw = new StreamWriter(@"c:\json.txt"))
using (JsonWriter writer = new JsonTextWriter(sw))
{
    serializer.Serialize(writer, product);
    // {"ExpiryDate":new Date(1230375600000),"Price":0}
}