简体   繁体   中英

Deserializing a JSON String to LongListSelector Windows Phone 8

I am working on windows phone app and I want to show some grouped JSON list item to longlist selector but I am not able to show anything in LongListSelector please help me following code I am using-:

Code Behind

public class UserInfo
{
    public string service_name { get; set; }
    public string uid { get; set; }
    public string fname { get; set; }
    public string lname { get; set; }
    public string Contact { get; set; }
    public object Mutual_friend { get; set; }
    public object Direct { get; set; }
    public string Miles { get; set; }
}
public class ResultSearch
{
    public string service { get; set; }
    public List<UserInfo> user_info { get; set; }
}
public class RootObjectSearch
{
    public string flag { get; set; }
    public string message { get; set; }
    public List<ResultSearch> result { get; set; }
}

XAML

<phone:LongListSelector Name="test"
                        ItemsSource="{Binding service}"
                        HorizontalAlignment="Left"
                        Height="384"
                        Margin="10,136,0,0"
                        VerticalAlignment="Top"
                        Width="436">
    <phone:LongListSelector.ItemTemplate>
        <DataTemplate>
            <StackPanel HorizontalAlignment="Left"
                        Height="301"
                        Margin="10,10,0,0"
                        VerticalAlignment="Top"
                        Width="436"
                        Background="{StaticResource PhoneAccentBrush}">
                <StackPanel Orientation="Horizontal"
                            Height="64">
                    <TextBlock Text="{Binding service }"
                               TextWrapping="Wrap"
                               Foreground="Red"
                               Margin="10"
                               Width="229"
                               FontSize="24" />
                </StackPanel>
                <StackPanel Orientation="Horizontal"
                            Height="64">
                    <TextBlock Text="{Binding fname }"
                               TextWrapping="Wrap"
                               Foreground="Red"
                               Margin="10"
                               Width="229"
                               FontSize="24" />
                </StackPanel>
                <StackPanel Orientation="Horizontal"
                            Height="64">
                    <TextBlock Text="{Binding lname }"
                               TextWrapping="Wrap"
                               Foreground="Red"
                               Margin="10"
                               Width="229"
                               FontSize="24" />
                </StackPanel>
                <StackPanel Orientation="Horizontal"
                            Height="64">
                    <TextBlock Text="{Binding Contact }"
                               TextWrapping="Wrap"
                               Foreground="Red"
                               Margin="10"
                               Width="229"
                               FontSize="24" />
                </StackPanel>
            </StackPanel>
        </DataTemplate>
    </phone:LongListSelector.ItemTemplate>
</phone:LongListSelector>           

I assume that you are able to download the json as a string.

Once you have that string add Json.NET library via nuGet and then add:

 List<UserInfo> userInfo = JsonConvert.DeserializeObject<List<UserInfo>>(response);

where response is the string with the json inside.

Ok, now link the List<UserInfo> to the LongListSelector :

longListSelector.ItemSource = userInfo;

where longListSelector is the x:name of the phone:LongListSelector you have previously created in XAML

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM