2016-11-04 22 views
0

JSONオブジェクトをウェブサイトから受け取り、文字列値に格納します.JSONオブジェクトにマップするために必要なクラスを生成しました。文字列に格納されたJson値をクラス値に割り当ててからSQLに格納する

{ 
    "echo_req": { 
     "subscribe": 1, 
     "transaction": 1 
    }, 
    "msg_type": "transaction", 
    "transaction": { 
     "action": "buy", 
     "amount": "-250.0000", 
     "balance": "530800.61", 
     "contract_id": "108 32430388", 
     "currency": "USD", 
     "date_expiry": 1478242335, 
     " display_name": "Volatility 10 Index", 
     "id": "de7cc6e6-218c-86a5-805f-093c1176f605", 
     "longcode": "Win payout if Volatility 10 Index is strictly lower than entry spot at 15 minutes after contract start time.", 
     "symbol": "R_10", 
     "transaction_id": "215802164 88", 
     "transaction_time": 1478241435 
    } 
} 

C#クラス:

私が持っているプログラムで
namespace BinaryData 
{ 

    public class Echo_Req 
    { 
     public int subscribe { get; set; } 
     public int transaction { get; set; } 
    } 
    public class Transaction 
    { 
     public string action { get; set; } 
     public string amount { get; set; } 
     public string balance { get; set; } 
     public string contract_id { get; set; } 
     public string currency { get; set; } 
     public int date_expiry { get; set; } 
     public string display_name { get; set; } 
     public string id { get; set; } 
     public string longcode { get; set; } 
     public string symbol { get; set; } 
     public string transaction_id { get; set; } 
     public int transaction_time { get; set; } 
    } 

    public class Rootobject 
    { 
     public Echo_Req echo_req { get; set; } 
     public string msg_type { get; set; } 
     public Transaction transaction { get; set; } 
    } 

} 

が、どのように立ち往生、私はクラスのプロパティ/変数に

JSONデータをJSONの値を代入するのですか私は、契約IDに割り当てる

var str = Encoding.UTF8.GetString(buffer.Array, 0, result.Count);// 
Console.WriteLine(str);//prints json correctly 

Transaction tradeDetails = new Transaction(); 
tradeDetails.contract_id=str.contract_id//How do I do this 

またちょうどサイドノートでは、これは単に

まだEFを知らないbecasue SQL.Iに格納するコードを記述するための値を得るための効果的な方法は、ADO.NETを使用するだろう

答えて

0

JSON.NETを使用して、JSON文字列をオブジェクトに逆シリアル化する必要があります。あなたのケースでは

Rootobject ro = JsonConvert.DeserializeObject<Rootobject>(str); 

その後

tradeDetails.contract_id = ro.transaction.contract_id 

そして、あなたのJSONでは

" display_name"グリッチであるが - "display_name"する必要があります - 私は、これは誤植エラーだと思います。

+0

ありがとうございました。それを解決しました。 – Rjoy

+0

:-)私の投稿を回答としてマークし、それをupvote ;-) – BWA

関連する問題