に私はクラスにウェブから取得したデータを使用して、いくつかのJSONデータをシリアル化したいので、私はhttp://json2csharp.com/に行ってきましたし、このクラスにUWP JSON C#の変換
json: [{"line_descr":"\u03a0\u0395\u0399\u03a1\u0391\u0399\u0391\u03a3 -
\u0392\u039f\u03a5\u039b\u0391","line_descr_eng":"PEIRAIAS - VOYLA"}]
以下のようにJSONを回し:
public class RootObject
{
public string line_descr { get; set; }
public string line_descr_eng { get; set; }
}
これは私のコードです:
class LineName
{
public async static Task<RootObject> GetLineName(int linecode)
{
var http = new HttpClient();
var response = await http.GetAsync("http://telematics.oasa.gr/api/?act=getLineName&p1=962");
var result = await response.Content.ReadAsStringAsync();
var serializer = new DataContractJsonSerializer(typeof(RootObject));
var ms = new MemoryStream(Encoding.UTF8.GetBytes(result));
var data = (RootObject)serializer.ReadObject(ms);
return data;
}
}
[DataContract]
public class RootObject
{
[DataMember]
public string line_descr { get; set; }
[DataMember]
public string line_descr_eng { get; set; }
}
private async void Button_Click(object sender, RoutedEventArgs e)
{
RootObject myLine = await LineName.GetLineName(92);
ResultTextBlock.Text = myLine.line_descr_eng;
}
だから私は、データを取得し、私のテキストブロックに表示しようとすると、私はエラーが発生します:line_descr_engはnullです。
誰かがどこに障害があるのかを指摘できますか? line_descr_engは PEIRAIAS - VOYLAである必要がありますが、私はnullであり、多くの検索の後では、どこに障害があるのかわかりません。
[OK]を私はこれを試してみましたが、それはそれはRootObject変換カント言います[]からRootObjectへのエラーは、 "return data"です。あなたはもう少しそれを指定できますか? :) – panoukos41
@PanosPanosAthanasiouが投稿を編集しました。基本的には、メソッドの戻り値の型と変数の型を新しいデータ型に合わせて変更する必要があります。 –
それはうまくいった^ _^thnx !!ちょうど2番目のvarは、最初のものとは異なる名前が必要です:) 基本的には配列を返してから、その配列の最初の項目を取得します。 – panoukos41