猿问

在我的应用程序上显示来自 JSON 本地文件的数据

我有一个本地 JSON 文件,我需要在我的应用程序上显示它的一些数据,我尝试了一些解决方案但没有任何反应,我在另一个“更轻”的 JSON 文件上尝试了以下代码,它有效,但它不适用于我的主要 JSON 文件。


这是我的 JSON 文件:


{

  "latitude": 49.241524,

  "longitude": 4.063723,

  "glcParts": [

    {

      "id": 1,

      "coordinates": [

        {

          "latitude": 49.241527,

          "longitude": 4.063755

        },

        {

          "latitude": 49.241545,

          "longitude": 4.063865

        },

        {

          "latitude": 49.241543,

          "longitude": 4.063995

        },

        {

          "latitude": 49.241537,

          "longitude": 4.064188

        }

      ]

    },

    {

      "id": 2,

      "coordinates": [

        {

          "latitude": 49.241555,

          "longitude": 4.063413

        },

        {

          "latitude": 49.241571,

          "longitude": 4.063260

        },

        {

          "latitude": 49.241589,

          "longitude": 4.063032

        },

        {

          "latitude": 49.241600,

          "longitude": 4.062884

        }

      ]

    }

  ],

  "gicParts": [

    {

      "detectionZoneId": 1,

      "relevanceZoneId": 2,

      "direction": 0,

      "iviType": 0,

      "roadSign": [

        {

          "countryCode": "FR",

          "trafficSignPictogram": 2,

          "pictogramCategoryCode": {

            "nature": 6,

            "serialNumber": 61

          }

        }

      ],

      "extraText": [

        {

          "language": 714,

          "content": "Rétrécissement"

        },

        {

          "language": 714,

          "content": "voie"

        }


      ]

    },

    {

      "detectionZoneId": 1,

      "relevanceZoneId": 2,

      "direction": 0,

      "iviType": 1,

      "roadSign": [

        {

          "countryCode": "FR",

          "trafficSignPictogram": 2,

          "pictogramCategoryCode": {

            "nature": 5,

            "serialNumber": 57

          }

        }

      ],

      "extraText": [

        {

          "language": 714,

          "content": "/!\\ 50 km/h"

        }

      ]

    }

 



肥皂起泡泡
浏览 86回答 2
2回答

三国纷争

根据你的 json,你应该在 IVIv2 对象中反序列化它,而不是在 GlcPart 中。代替 :ObjContactList = JsonConvert.DeserializeObject<GlcPart>(jsonString);和 :ObjContactList = JsonConvert.DeserializeObject<IVIv2>(jsonString);所以在那之后你的listviewGLC.ItemsSource&nbsp;=&nbsp;ObjContactList.GlcPart[0];使用您当前的模型结构,您无法创建包含 GlcPart 列表中所有值的列表视图。

慕田峪9158850

ObjContactList 必须是 xaml 中绑定的公共属性我推荐一个清晰的代码,将 ViewModel 添加到 ContentPage 类并使用 Bindingcontext。public partial class IVI_Display : ContentPage{&nbsp; &nbsp; public IVI_DisplayViewModel ViewModel { get; set; }&nbsp; &nbsp;public IVI_Display()&nbsp; &nbsp;{&nbsp; &nbsp; &nbsp; &nbsp; ViewModel = new IVI_DisplayViewModel();&nbsp; &nbsp; &nbsp; &nbsp; ...&nbsp; &nbsp; &nbsp; &nbsp; BindingContext = ViewModel;&nbsp; &nbsp;}&nbsp; &nbsp;&nbsp;}public class IVI_DisplayViewModel{&nbsp; &nbsp; public object Coordinates { get; set; }&nbsp; &nbsp; ...}在 Xaml 中使用<ListView x:Name="listviewGLC" ItemsSource="{Binding Coordinates} Grid.Row="1" HorizontalOptions="FillAndExpand" Footer="" HasUnevenRows="True">&nbsp;&nbsp;输入清晰的代码始终是一个好习惯。
随时随地看视频慕课网APP
我要回答