JSON.net
を使用してJSONを解析していますが、List of List
値のオブジェクトが正しく出力されません。ここに私のJSON.netのコードは次のとおりです。ここでJSONの解析値が表示されない
var reader = new StreamReader(GenerateStreamFromString(decodedString));
var rootObject = JsonConvert.DeserializeObject<RootObject>(reader.ReadToEnd());
txtOut.Text = rootObject.Results.output1.value.ColumnNames[0].ToString() + " : " +
rootObject.Results.output1.value.Values[0].ToString();
は、JSONクラスです:
public class Value
{
public List<string> ColumnNames { get; set; }
public List<string> ColumnTypes { get; set; }
public List<List<string>> Values { get; set; }
}
public class Output1
{
public string type { get; set; }
public Value value { get; set; }
}
public class Results
{
public Output1 output1 { get; set; }
}
public class RootObject
{
public Results Results { get; set; }
}
出力は次のようになります。
Scored Probabilities for Class "BackPocket" : 0.37687685364
私が手にしながら:
Scored Probabilities for Class "BackPocket" : System.Collections.Generic.List`1[System.String]
私はどこで間違っているのですか?
ありがとうございました。
P.S.
{"Results":{"output1":{"type":"table","value":{"ColumnNames":["Scored Probabilities for Class \"BackPocket\"","Scored Probabilities for Class \"Ear\"","Scored Probabilities for Class \"Handbag\"","Scored Probabilities for Class \"SidePocket\"","Scored Labels"],"ColumnTypes":["Double","Double","Double","Double","String"],"Values":[["0.0249993801116943","0.999469399452209","0.00426889630034566","0.00104729761369526","Ear"]]}}}}
あなたのJSONは有効ではありません。 http://json2csharp.com/#で確認してください –
なぜ 'List'ではなく最初の値にするのですか?あなたは結局リストのリストを持っているので、あなたが望むその "セカンダリ"リストのどの要素を指定する必要があります – UnholySheep
@ShannonHolsingerちょうどチェックし修正しました。 –