0

まず、プロジェクトに関する情報です。ここに私が作成したクラスがあります:

    public class SendOverview
{
    public string id   { get; set;}

    public string method { get; set;}

    public SendOV Params {get; set;}

}

public class SendOV
{
    public string overviewID { get; set; }

    public string overviewType { get; set; }

    public string AORParams { get; set; }

    public SentDatas arrOptions { get; set; }


}
public class SentDatas
{
    public string columnInfo { get; set; }

    public string orderInfo { get; set; }

}

ここで行われるようにオブジェクトを作成することにより、すべてをシリアル化する非常に単純なクラス (つまり、SendOverview クラス):

        SendOverview test1 = new SendOverview();
        test1.id = "1";
        test1.method = "getOverviewInfo";

        SendOV testOV = new SendOV();
        testOV.AORParams = null;
        testOV.overviewID = tempDID;
        testOV.overviewType = "Stock Items";


        SentDatas col1 = new SentDatas();
        col1.columnInfo = "1;100;1;1#";
        col1.orderInfo = "1;0;0#";

col1 データを testOV の arrOptions に追加しようとすると、作業の進行をブロックする nullreference 例外が発生します。

testOV.arrOptions[0] = col1;

私に例外を与えています。どんな助けでも大歓迎です..

(どこかに List[] xx = new List[MAX] を作成する必要があることはわかっていますが、実装できません。)

無料の質問:

json 文字列を送信する場合: {\"id\":\"1\",\"method\":\"getOverviewInfo\",\"Params\":{\"overviewID\":\"0000004297\", \"overviewType\":\"Stock Items\",\"AORParams\":null,\"arrOptions\":{\"columnInfo\":\"1;100;1;1#\",\"orderInfo \":\"1;0;0#\"}}}"

すべての名前付きパラメーターは、名前付きパラメーターではなく、値のみを持つ必要があります。調整済み:

{\"id\":\"1\",\"メソッド\":\"getOverviewInfo\",\"Params\":{"0000004297\","在庫アイテム",null,{\"columnInfo\" :\"1;100;1;1#\",\"orderInfo\":\"1;0;0#\"}}}"

この効果を得るには、どの JSON プロパティを追加する必要がありますか? ありがとうございました!

4

1 に答える 1

0

あなたが何を求めているのか完全にはわかりませんが、以下を見て、私が正しい方向に進んでいるかどうかを確認してください.

次のようにクラスを更新します。

public class SendOV
{
    public string overviewID { get; set; }

    public string overviewType { get; set; }

    public string AORParams { get; set; }

    public List<SentDatas> arrOptions { get; set; }
}

次に、作成コードを次のように更新します。

SendOverview test1 = new SendOverview();
test1.id = "1";
test1.method = "getOverviewInfo";

SendOV testOV = new SendOV();
testOV.AORParams = null;
testOV.overviewID = tempDID;
testOV.overviewType = "Stock Items";

List<SentDatas> sentDatasList = new List<SentDatas>();

SentDatas col1 = new SentDatas();
col1.columnInfo = "1;100;1;1#";
col1.orderInfo = "1;0;0#";

sentDatasList.Add(col1);

testOV.arrOptions = sentDatasList;
于 2012-04-16T09:57:50.840 に答える