0

在我的 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 函数解析为 ac# 类

示例....如果我在 c# 中有一个类并且我想将它发送到其他一些网络服务器,我可以序列化该对象并使用它将其转换为 JSON

var 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侧...

我有这个功能,我已经将值设置为这个,但我会在运行时更改它们。

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)\/"}
4

1 回答 1

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);

例子

不要担心日期格式。任何好的序列化器都将能够识别日期的各种表示。无需手动重新格式化任何内容。

于 2012-12-18T22:10:44.540 回答