目前,我使用字符串值MyFinalJSON
来创建字符串。
MyFinalJSON += "\"Name\":\"" + myNameString +"\"";
这似乎是一种用JSON格式编写的非常长篇大论/错误的写法。
是否有更好/更合适的方法来创建JSON字符串?特别是当JSON字符串变得很长时。
修改
哦对不起我忘了提到我正在使用NetMF框架,因此没有system.web...
的命名空间,以及其他许多
任何建议都非常感谢。
答案 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}
}