0
は、私はC++/CLIC++/CLIクラスとのIList
[
{
"id":"046e075ad92684",
"NfcA":{
"maxTransceiveLength":253,
"sak":0,
"atqa":"4400",
"timeout":618
},
"Ndef":[
{
"records":[
{
"id":"",
"tnf":1,
"type":"54",
"payload":"02656e48656c6c6f206d792041737365742049442069733a20303030303031"
}
]
}
],
"tech":[
"android.nfc.tech.NfcA",
"android.nfc.tech.MifareUltralight",
"android.nfc.tech.Ndef"
],
"time":1472468356002
}
]
を使用して、次のJSONをデシリアライズしようとしている私はすでにJSONデータの内容を取得するために、次のクラスを宣言しました。
ref class tech {
public: String^ tech1;
public: String^ tech2;
public: String^ tech3;
};
ref class Record {
public: String^ id;
public: int tnf;
public: String^ type;
public: String^ payload;
};
ref class Topic_nfc {
public: String^ id;
public: ref class NfcA {
public: int maxTransceiveLength;
public: int sak;
public: int atqa;
public: int timeout;
};
public: ref class Ndef {
public: System::Collections::Generic::IList<Record^>^ records;
};
public: System::Collections::Generic::IList<Ndef^>^ Ndef;
public: System::Collections::Generic::IList<String^>^ tech;
public: unsigned long long time;
public:
NfcA^ NfcA;
};
直列化復元した後、私は通常、MyRawdata
しかし
System::Collections::Generic::IList<Topic_nfc^>^ MyRawdata = JsonConvert::DeserializeObject<System::Collections::Generic::IList<Topic_nfc^>^>(MyJson);
由来
printf("MyRawdata[i]->id : %s\n", MyRawdata[i]->id);
printf("MyRawdata[i]->NfcA->maxTransceiveLength : %d\n", MyRawdata[i]->NfcA->maxTransceiveLength);
を使用してidとmaxTransceiveLengthにアクセスすることができ、私たちはNdef
とtech
データにアクセスできる方法を見つけ出すことはできません会員はです。 IListに相当するのはどれですか?
はあなたに@Lucas Trzesniewskiヘルプへ
'IList'の代わりに' List'を使うと、Json.NETはインターフェイスに逆シリアル化するためにどの具体的なクラスを使うべきか分かりません。 –
IListではなくListを使用していても、これらのデータにアクセスするコードはどちらになっているかはわかりません。 tech1データを取得するには、 'printf(" MyRawdata [i] - > id:%s \ n "、MyRawdata [i] - > id);のequivelantになりますか?私は少し混乱している。 – Fotakis
私は問題が「IList」だとは思わない。 Visual Studioでブレークポイントを設定することで、VSのユーザーインターフェースを介して 'tech1'の値を評価することができ、値は正しいので、' JsonConvert'を使って適切に設定します。問題は、コードでこれらのデータにアクセスするMyRawdata構造をどのように参照できるかです。 – Fotakis