Question : Comment j'entre une liste de json dans la classe appropriée de VB.NET

J'ai été essai de lutte d'entrer la corde suivante de json dans le classes
This de .net est ma première tentative à l'essai de lire des cordes de json et la corde des deserializers etc.
The vient de l'Etsy API2 où une liste de listes sur cet emplacement peut être retrieved.
It se compose de plusieurs résultats des listes.  Les listes a beaucoup l'exemple du
An de propriétés du plein is

de rendement jsonstr2 = « {"" de compte de "" : 93, "" résulte le de "" : [{"" de listing_id de "" : 45291928, "" du state de "" : "" de l'active de "", "" du user_id de "" : le 8483376, le

This du ti de ""… a beaucoup plus de propriétés que je ne vous ennuierai pas avec here.
I connais le json de base dans des travaux de classe parce que quand j'emploie le string

jsonstr2 = » {"" de listing_id de "" : 45291928, "" d'état de "" du : ,

and de "" de "" du de l'user_id de "" "… le

Dim EtsyListing de code comme Listingv2
EtsyListing =
Dim temp9 de JSONHelper.Deserialize (de Listingv2) (jsonstr2) comme la corde = le public public de JSONHelper
de classe d'Etsy.user_ID

ont partagé la fonction Deserialize (de T) (json de ByVal comme corde) comme faible serializer de T
en tant que nouveau System.Runtime.Serialization. Json.DataContractJsonSerializer
(de GetType (T)) Using le jet en tant que nouveau MemoryStream (nouvel UTF8Encoding () .GetBytes (json))Retour du
(serializer.ReadObject (Stream))L'extrémité Class

which de Function
de fin d'Using
de fin du
le met dans la classe listingv2 tout works.

When que j'essaye de faire énumérer plusieurs en employant ce code : Faibles listes du
comme ListingCollections
Lisitings = JSONHelper.Deserialize (de ListingCollections) (jsonstr)
faible temp9 comme nombre entier = Listings.results.Count
faible temp11 comme corde = Listings.results (1).URL

only la première liste est dans la collection, quoiqu'il devrait y avoir de 3.  Quand j'essaye d'accéder à lthese, naturellement il échoue déclarant que j'ai dépassé le problème d'index.

The semble être la classe de collection de liste que j'ai en tant que ce qui suit : Le

Imports System.IO
Imports System.Text
Imports System.Xml.Serialization
Imports System.Runtime.Serialization
Imports System.Collections.Generic


classe ListingCollections
du _
Public met en application IEnumerable, _Etsylistings privés du

« de propriétés publiques " d'IEnumerator

#Region en tant que de liste (de Listingv2) (nom : = " propriété publique EtsyListings du _
du results")> () comme extrémité de retour Get
du _EtsyListings
du
Get
de liste (de Listingv2) réglé (valeur de ByVal comme liste (de Listingv2))_EtsyListings du
= _totcount privé de Property

de fin de Set
de fin du value
comme (nom : = totcount de propriété publique du _
du > de " compte ») () pendant que le _totcount réglé de retour du
de Get
de fin du _totcount
d'Integer
Get
(valeur de ByVal comme nombre entier) = le compte d'initiale de Property

End Class

The de fin de Set
de fin du value
dans jsonstr2 est également placé correctement.  Seulement les listes d'Etsy de multiple ne sont pas recherchées correctement.  Il s'avère que j'ai écrit la classe de listingcollection inexactement.  aide appreciated.





du

Any class= de

Réponse : Comment j'entre une liste de json dans la classe appropriée de VB.NET

vous devez placer tout l'objet ou le deserialization échouera à une exception

Votre dernier code avec une certaine mise à jour

J'ai remplacé l'ArrayList par : Liste (de corde))
Une utilisation un plein objet de json
stat retitrée à énoncer en arrière
1 :
2 :
3 :
4 :
5 :
6 :
7 :
8 :
9 :
10 :
11 :
12 :
13 :
14 :
15 :
16 :
17 :
18 :
19 :
20 :
21 :
22 :
23 :
24 :
25 :
26 :
27 :
28 :
29 :
30 :
31 :
32 :
33 :
34 :
35 :
36 :
37 :
38 :
39 :
40 :
41 :
42 :
43 :
44 :
45 :
46 :
47 :
48 :
49 :
50 :
51 :
52 :
53 :
54 :
55 :
56 :
57 :
58 :
59 :
60 :
61 :
62 :
63 :
64 :
65 :
66 :
67 :
68 :
69 :
70 :
71 :
72 :
73 :
74 :
75 :
76 :
77 :
78 :
79 :
80 :
81 :
82 :
83 :
84 :
85 :
86 :
87 :
88 :
89 :
90 :
91 :
92 :
93 :
94 :
95 :
96 :
97 :
98 :
99 :
100 :
101 :
102 :
103 :
104 :
105 :
106 :
107 :
108 :
109 :
110 :
111 :
112 :
113 :
114 :
115 :
116 :
117 :
118 :
119 :
120 :
121 :
122 :
123 :
124 :
125 :
126 :
127 :
128 :
129 :
130 :
131 :
132 :
133 :
134 :
135 :
136 :
137 :
138 :
139 :
140 :
141 :
142 :
143 :
144 :
145 :
146 :
147 :
148 :
149 :
150 :
151 :
152 :
153 :
154 :
155 :
156 :
157 :
158 :
159 :
160 :
161 :
162 :
163 :
164 :
165 :
166 :
167 :
168 :
169 :
170 :
171 :
172 :
173 :
174 :
175 :
176 :
177 :
178 :
179 :
180 :
181 :
182 :
183 :
184 :
185 :
186 :
187 :
188 :
189 :
190 :
191 :
192 :
193 :
194 :
195 :
196 :
197 :
198 :
199 :
200 :
201 :
202 :
203 :
204 :
205 :
206 :
207 :
208 :
209 :
210 :
211 :
212 :
213 :
214 :
215 :
216 :
217 :
218 :
219 :
220 :
221 :
222 :
223 :
224 :
225 :
226 :
227 :
228 :
229 :
230 :
231 :
232 :
233 :
234 :
235 :
236 :
237 :
238 :
239 :
240 :
241 :
242 :
243 :
244 :
245 :
246 :
247 :
248 :
249 :
250 :
251 :
252 :
253 :
254 :
255 :
256 :
257 :
258 :
259 :
260 :
261 :
262 :
263 :
264 :
265 :
266 :
267 :
268 :
269 :
270 :
271 :
272 :
273 :
274 :
275 :
276 :
277 :
278 :
279 :
280 :
281 :
282 :
283 :
284 :
285 :
286 :
287 :
288 :
289 :
290 :
291 :
292 :
293 :
294 :
295 :
296 :
297 :
298 :
299 :
300 :
301 :
302 :
303 :
304 :
305 :
306 :
307 :
308 :
309 :
310 :
311 :
312 :
313 :
314 :
315 :
316 :
317 :
318 :
319 :
320 :
321 :
322 :
323 :
324 :
325 :
326 :
327 :
328 :
329 :
330 :
331 :
Importations System.IO
Importations System.Text
Importations System.Runtime.Serialization
Importations System.Runtime.Serialization.Json

Module Module1

    Force secondaire ()
        Faible json comme corde = « {"" de compte de "" : 93, "" résulte "" : [{"" de listing_id de "" : 45291928, "" d'état de "" : "" actif de "", "" d'user_id de "" : 8483376, "" de titre de "" : """", "" de description de "" : """", "" de creation_tsz de "" : 20100824, "" d'ending_tsz de "" : 20100824, "" d'original_creation_tsz de "" : 20100824, "" de last_modified_tsz de "" : 20100824, "" des prix de "" : 1234.56, "" de currency_code de "" : """", "" de quantité de "" : 1000, "" étiquette le "" : [], "" de matériaux de "" : [], "" de featured_rank de "" : nulle, "" de state_tsz de "" : 0, "" de tonalité de "" : 0, "" de saturation de "" : 0, "" d'éclat de "" : 0, "" d'is_black_and_white de "" : rectifier, "" d'URL de "" : le """", "" regarde le "" : 9876}] »
        Faibles lstCollections en tant que nouveau ListingCollections ()
        Faible Mme en tant que nouveau MemoryStream (Encoding.UTF8.GetBytes (json))
        Faible ser en tant que nouveau DataContractJsonSerializer (lstCollections.GetType ())
        lstCollections = TryCast (ser.ReadObject (Mme), ListingCollections)
        Console.WriteLine (la « valeur d'état du troisième élément de json des résultats est :  » et lstCollections.EtsyListings.Item (0) .is_black_and_white)
        Mme. Se fermer ()
    Finir le sous-marin


     _
    Classe publique ListingCollections
        _EtsyListings privés comme liste (de Listingv2)
        _totcount privé comme nombre entier

         _
        Propriété publique EtsyListings () comme liste (de Listingv2)
            Obtenir
                Renvoyer les _EtsyListings
            L'extrémité obtiennent
            Ensemble (valeur de ByVal comme liste (de Listingv2))
                _EtsyListings = valeur
            Ensemble d'extrémité
        Propriété d'extrémité

         _
        Totcount de propriété publique () comme nombre entier
            Obtenir
                Renvoyer le _totcount
            L'extrémité obtiennent
            Placer (valeur de ByVal comme nombre entier)
                _totcount = valeur
            Ensemble d'extrémité
        Propriété d'extrémité

        Nouveaux secondaires publics ()
        Sous-marin d'extrémité

        Nouveau secondaire public (ByVal EtsyListings comme totcount de liste (de Listingv2), de ByVal comme nombre entier)
            Je. _EtsyListings = EtsyListings
            Je. _totcount = totcount
        Sous-marin d'extrémité

    Classe d'extrémité

     _
    Classe publique Listingv2
        _listing_id privé comme nombre entier
        _state privé comme corde
        _user_id privé comme nombre entier
        _title privé comme corde
        _description privé comme corde
        _creation_tsz privé comme nombre entier
        _ending_tsz privé comme nombre entier
        _original_creation_tsz privé comme nombre entier
        _last_modified_tsz privé comme nombre entier
        _price privé en tant que décimale ?
        _currency_code privé comme corde
        _quantity privé comme nombre entier
        _tags privés comme liste (de corde)
        _materials privés comme liste (de corde)
        _featured_rank privé comme Nullable (de nombre entier)
        _state_tsz privé comme nombre entier
        _hue privé comme nombre entier
        _saturation privé comme nombre entier
        _brightness privé comme nombre entier
        _is_black_and_white privé comme booléen
        _url privé comme corde
        _views privés comme nombre entier

         _
        Listing_id de propriété publique () comme nombre entier
            Obtenir
                Renvoyer le _listing_id
            L'extrémité obtiennent
            Placer (valeur de ByVal comme nombre entier)
                _listing_id = valeur
            Ensemble d'extrémité
        Propriété d'extrémité

         _
        État de propriété publique () comme corde
            Obtenir
                Retourner si (le _state n'est rien, "", _state)
            L'extrémité obtiennent
            Placer (valeur de ByVal comme corde)
                _state = valeur
            Ensemble d'extrémité
        Propriété d'extrémité

         _
        User_id de propriété publique () comme nombre entier
            Obtenir
                Renvoyer le _user_id
            L'extrémité obtiennent
            Placer (valeur de ByVal comme nombre entier)
                _user_id = valeur
            Ensemble d'extrémité
        Propriété d'extrémité

         _
        Titre de propriété publique () comme corde
            Obtenir
                Renvoyer le _title
            L'extrémité obtiennent
            Placer (valeur de ByVal comme corde)
                _title = valeur
            Ensemble d'extrémité
        Propriété d'extrémité

         _
        Description de propriété publique () comme corde
            Obtenir
                Renvoyer le _description
            L'extrémité obtiennent
            Placer (valeur de ByVal comme corde)
                _description = valeur
            Ensemble d'extrémité
        Propriété d'extrémité

         _
        Creation_tsz de propriété publique () comme nombre entier
            Obtenir
                Renvoyer le _creation_tsz
            L'extrémité obtiennent
            Placer (valeur de ByVal comme nombre entier)
                _creation_tsz = valeur
            Ensemble d'extrémité
        Propriété d'extrémité

         _
        Ending_tsz de propriété publique () comme nombre entier
            Obtenir
                Renvoyer le _ending_tsz
            L'extrémité obtiennent
            Placer (valeur de ByVal comme nombre entier)
                _ending_tsz = valeur
            Ensemble d'extrémité
        Propriété d'extrémité

         _
        Original_creation_tsz de propriété publique () comme nombre entier
            Obtenir
                Renvoyer le _original_creation_tsz
            L'extrémité obtiennent
            Placer (valeur de ByVal comme nombre entier)
                _original_creation_tsz = valeur
            Ensemble d'extrémité
        Propriété d'extrémité

         _
        Last_modified_tsz de propriété publique () comme nombre entier
            Obtenir
                Renvoyer le _last_modified_tsz
            L'extrémité obtiennent
            Placer (valeur de ByVal comme nombre entier)
                _last_modified_tsz = valeur
            Ensemble d'extrémité
        Propriété d'extrémité

         _
        Prix de propriété publique () en tant que décimale ?
            Obtenir
                Retourner si (le _price n'est rien, 0D, _price)
            L'extrémité obtiennent
            Placer (valeur de ByVal en tant que décimale ?)
                _price = valeur
            Ensemble d'extrémité
        Propriété d'extrémité

         _
        Currency_code de propriété publique () comme corde
            Obtenir
                Retourner si (le _currency_code n'est rien, "", _currency_code)
            L'extrémité obtiennent
            Placer (valeur de ByVal comme corde)
                _currency_code = valeur
            Ensemble d'extrémité
        Propriété d'extrémité

         _
        Quantité de propriété publique () comme nombre entier
            Obtenir
                Renvoyer le _quantity
            L'extrémité obtiennent
            Placer (valeur de ByVal comme nombre entier)
                _quantity = valeur
            Ensemble d'extrémité
        Propriété d'extrémité

         _
        Étiquettes de propriété publique () comme liste (de corde)
            Obtenir
                Renvoyer les _tags
            L'extrémité obtiennent
            Ensemble (valeur de ByVal comme liste (de corde))
                _tags = valeur
            Ensemble d'extrémité

        Propriété d'extrémité
         _
        Matériaux de propriété publique () comme liste (de corde)
            Obtenir
                Renvoyer les _materials
            L'extrémité obtiennent
            Ensemble (valeur de ByVal comme liste (de corde))
                _tags = _materials
            Ensemble d'extrémité

        Propriété d'extrémité

         _
        Featured_rank de propriété publique () comme Nullable (de nombre entier)
            Obtenir
                Renvoyer le _featured_rank
            L'extrémité obtiennent
            Ensemble (valeur de ByVal comme Nullable (de nombre entier))
                _featured_rank = valeur
            Ensemble d'extrémité
        Propriété d'extrémité

         _
        State_tsz de propriété publique () comme nombre entier
            Obtenir
                Renvoyer le _state_tsz
            L'extrémité obtiennent
            Placer (valeur de ByVal comme nombre entier)
                _state_tsz = valeur
            Ensemble d'extrémité
        Propriété d'extrémité

         _
        Tonalité de propriété publique () comme nombre entier
            Obtenir
                Renvoyer le _hue
            L'extrémité obtiennent
            Placer (valeur de ByVal comme nombre entier)
                _hue = valeur
            Ensemble d'extrémité
        Propriété d'extrémité

         _
        Saturation de propriété publique () comme nombre entier
            Obtenir
                Renvoyer le _saturation
            L'extrémité obtiennent
            Placer (valeur de ByVal comme nombre entier)
                _saturation = valeur
            Ensemble d'extrémité
        Propriété d'extrémité

         _
        Éclat de propriété publique () comme nombre entier
            Obtenir
                Renvoyer le _brightness
            L'extrémité obtiennent
            Placer (valeur de ByVal comme nombre entier)
                _brightness = valeur
            Ensemble d'extrémité
        Propriété d'extrémité

         _
        Is_black_and_white de propriété publique () comme booléen
            Obtenir
                Renvoyer le _is_black_and_white
            L'extrémité obtiennent
            Placer (valeur de ByVal comme booléenne)
                _is_black_and_white = valeur
            Ensemble d'extrémité
        Propriété d'extrémité

         _
        URL de propriété publique () comme corde
            Obtenir
                Renvoyer le _url
            L'extrémité obtiennent
            Placer (valeur de ByVal comme corde)
                _url = valeur
            Ensemble d'extrémité
        Propriété d'extrémité

         _
        Vues de propriété publique () comme nombre entier
            Obtenir
                Renvoyer les _views
            L'extrémité obtiennent
            Placer (valeur de ByVal comme nombre entier)
                _views = valeur
            Ensemble d'extrémité
        Propriété d'extrémité

        Nouveaux secondaires publics ()
        Sous-marin d'extrémité

        Nouveau secondaire public (le listing_id de ByVal comme nombre entier, état de ByVal comme corde, user_id de ByVal comme nombre entier, le titre de ByVal comme corde, description de ByVal comme corde, creation_tsz de ByVal comme nombre entier, ending_tsz de ByVal comme nombre entier, original_creation_tsz de ByVal comme nombre entier, last_modified_tsz de ByVal comme nombre entier, prix de ByVal en tant que décimale, le currency_code de ByVal comme corde, quantité de ByVal comme nombre entier, ByVal étiquette comme liste (de corde), matériaux de ByVal comme liste (de corde), le featured_rank de ByVal comme Nullable (de nombre entier), state_tsz de ByVal comme nombre entier, tonalité de ByVal comme nombre entier, saturation de ByVal comme nombre entier, éclat de ByVal en tant que nombre entier, is_black_and_white de ByVal comme booléen, URL de ByVal en tant que corde, Vues de ByVal comme nombre entier)
            Je. _listing_id = listing_id
            Je. _state = état
            Je. _user_id = user_id
            Je. _title = titre
            Me.description = description
            Je. _creation_tsz = creation_tsz
            Je. _ending_tsz = ending_tsz
            Je. _original_creation_tsz = original_creation_tsz
            Je. _last_modified_tsz = last_modified_tsz
            Je. _price = prix
            Je. _currency_code = currency_code
            Je. _quantity = quantité
            Je. _tags = étiquettes
            Je. _materials = matériaux
            Je. _featured_rank = featured_rank
            Je. _state_tsz = state_tsz
            Je. _hue = tonalité
            Je. _saturation = saturation
            Je. _brightness = éclat
            Je. _is_black_and_white = is_black_and_white
            Je. _url = URL
            Je. _views = vues

        Sous-marin d'extrémité

    Classe d'extrémité

Module d'extrémité
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us