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# のクラスがあり、それを他の Web サーバーに送信したい場合は、オブジェクトをシリアル化し、次を使用して 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 に答える