0

私のJSONはURLhttp://192.168.1.50/vantaa/api/placeからのもので、次のようになります。
最初の質問は、この JSON からデータを取得する方法です。xamlリストページにバインドする必要があります。

{
         places: [
            {
              id: "243",
              title: "Abrams ja Husbacka",
              latitude: "60.25627906773524",
              longitude: "24.842572314971903",
              www: ""
            },
            {
              id: "149",
              title: "Alkupamaus",
              latitude: "60.27657927084334",
              longitude: "24.848795039886454",
              www: ""
            }
         ]
}

新しい xaml ページで以下の JSON を使用する必要があります。JSON の下に取得するには、URL は次のようになります。http://192.168.1.50/vantaa/api/place/243

例えば、上記のJSONのデータを表示する一覧ページがあります。ユーザーが場所 ID 243 のテキストブロックをクリックすると、新しいページに移動し、以下のように場所 ID 243 のバインディング JSON データが表示されます。(画像配列は動的です)。

{
     id: "243",
     title: "test 9 image",
     description: "test 9 image",
     latitude: "60.80943244516333",
     longitude: "26.14554653906248",
     www: "",
     phone: "",
     email: "",
     contact_person: "",
     address: {
     street: "asdf",
     postal_code: "12345",
     post_office: "Vantaa"
},
     images: [
          {
          id: "100",
          filename: "50c95e58b30db1.JPG",
          path: "assets/images/"
          },
          {
          id: "101",
          filename: "50c95e59207ad2.jpg",
          path: "assets/images/"
          },
          {
          id: "102",
          filename: "50c95e599076f3.jpg",
          path: "assets/images/"
          }
     ]
}

この問題に関する提案はありますか?

ps: WP と C# は初めてなので、簡単に説明してください。

4

2 に答える 2

4

JSON に基づいてオブジェクトを作成します。たとえば、Place オブジェクトは次のようになります。

public class Place
{
    public string id {get; set;}
    public string title {get; set; }
    public string latitude {get; set; }
    public string longitude {get; set; }
    public string www {get; set;}
}

次に、JSON をページをバインドできるオブジェクトに変換できます。JSONConvert または JavaScriptSerializer を使用する

var somewhere = JsonConvert.DeserializeObject<Place>(json);

JSONConvert は JSON.NET からのもので、非常に成熟した Json ライブラリです。NuGET パッケージ マネージャーを使用して参照することもできます。

于 2013-01-04T05:56:24.013 に答える