在我的c#课程中,我有以下课程:
public class Product
{
public int product_id;
public int quantity;
public string book_cost;
}
如果我使用JavaScriptSerializer
对其进行序列化,那么我会回来
{"product_id":0,"quantity":0,"book_cost":"hello"}
设置值后。
这就是c#,但我如何序列化一个javascript函数来匹配呢?
我想将js函数解析为c#类
示例....如果我在c#中有一个类,并且我想将它发送到其他网络服务器,我可以使用
序列化对象并使其成为JSONvar serializer = new JavaScriptSerializer();
serializer.Serialize(new Product());
public class Product
{
public int product_id = 0;
public int quantity = 0;
public string book_cost = "hello";
}
然后在另一边我可以拥有这个:
var serializer = new JavaScriptSerializer();
Product p = serializer.Deserialize<Product>(products);
Console.WriteLine(p.product_id);
public class Product
{
public int product_id;
public int quantity;
public string book_cost;
}
它将打印出0,因为我创建了一个新产品类,其中包含来自另一个类的值,但我希望一方是js(发送方),另一方是c#(接收方)
这里有一个例子:
js side ...
我有这个功能,我已经设置了这个值,但我会在运行时更改它们。
function Product(){
this.product_id = 0;
this.quantity = 0;
this.book_cost = "hello";
}
然后我想从中生成我想要生成
{"product_id":0,"quantity":0,"book_cost":"hello"}
然后在另一方面,我想填充上面的Product类。我只会使用字符串,整数和日期对象。如果我在c#中序列化一个DateTime对象,它就会出现
{"date":"\/Date(-62135596800000)\/"}
答案 0 :(得分:2)
您可以使用JSON.stringify方法在JSON中序列化对象。类似的东西:
function Product() {
this.product_id = 0;
this.quantity = 0;
this.book_cost = "hello";
}
var p = new Product();
p.quantity = 5;
var json = JSON.stringify(p);
不要担心日期格式。任何好的序列化器都能识别各种日期表示。不需要手动重新格式化任何东西。