Vraag : Hoe ik een jsonlijst in de juiste klasse VB.NET krijg

Ik heb proberend om het volgende jsonkoord in .net classes
This te krijgen ben mijn eerste poging tot het proberen om json koorden geworsteld te lezen en deserializers etc.
The komt uit Etsy API2 waar een lijst van lijsten op die plaats retrieved.
It kan zijn bestaat uit verscheidene resultaten van lijsten.  De lijsten heeft velen eigenschappen
An voorbeeld van de volledige output is

jsonstr2 = „{"" telling "": 93, "" vloeien "" voort: [{"" listing_id "": 45291928, "" state "": "" active "", "" user_id "": 8483376, "" ti…

This heeft veel meer eigenschappen die ik u niet met here.
I ken basisjson in de klassenwerken omdat zal dragen wanneer ik de enige lijst string

jsonstr2 =“ gebruik {"" listing_id "": 45291928, "" staat "": "" actieve "" , "" user_id "…

and de volgende code

Dim EtsyListing als Listingv2
EtsyListing = JSONHelper.Deserialize (van Listingv2) (jsonstr2)
Dim temp9 als Koord =/> de Overheidsfunctie Deserialize van JSONHelper

(van T) (ByVal json als Koord) als/> Schemerige serializer T
on. Json.DataContractJsonSerializer (GetType (T))
Gebruikend Stroom als Nieuwe MemoryStream (Nieuwe UTF8Encoding () .GetBytes (json))/> Terugkeer
eam))/> het Eind Class

which van Function
/> zet het in de klasse listingv2 alles works.

When die ik heb geprobeerd om verscheidene te hebben een lijst maken van door deze code te gebruiken: /> Schemerige Lijsten
Lisitings = JSONHelper.Deserialize (van ListingCollections) (jsonstr)
Schemerige temp9 als Geheel = Listings.results.Count
Schemerige temp11 als Koord = Listings.results (1) .URL

only de eerste lijst in de inzameling is, alhoewel er 3 zou moeten zijn.  Wanneer ik probeer om tot lthese toegang te hebben, natuurlijk ontbreekt het het verklaren dat ik het probleem index.

The schijn de klasse heb overschreden van de lijstinzameling te zijn die ik als het volgende heb:

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


_
Public Klasse ListingCollections
voert IEnumerable, IEnumerator

#Region „Privé _Etsylistings/>
als Lijst (van Listingv2)
> _
Openbare Bezit totcount () als Eind van de Terugkeer van Integer
Get
_totcount
Get
Vastgestelde (waarde ByVal als Geheel) wordt
_totcount = value
de aanvankelijke telling/>The van Property

End Class

in jsonstr2 ook correct geplaatst.  Slechts worden de veelvoudige Lijsten Etsy niet correct teruggewonnen.  Het blijkt dat ik de listingcollectionklasse verkeerd heb geschreven.  

Any hulp appreciated.





Antwoord : Hoe ik een jsonlijst in de juiste klasse VB.NET krijg

u moet al voorwerp plaatsen of deserialization zal met een uitzondering ontbreken

Uw laatste code met één of andere update

Ik verving ArrayList door: Lijst (van Koord))
Een gebruik een volledig jsonvoorwerp
anders genoemd stats om terug te verklaren
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:
De invoer System.IO
De invoer System.Text
De invoer System.Runtime.Serialization
De invoer System.Runtime.Serialization.Json

Module Module1

    Sub Leiding ()
        Schemerige json als Koord = „{"" telling "": 93, "" resultaten "": [{"" listing_id "": 45291928, "" staat "": "" actieve "", "" user_id "": 8483376, ""- titel "": """", "" beschrijving "": """", "" creation_tsz "": 20100824, "" ending_tsz "": 20100824, "" original_creation_tsz "": 20100824, "" last_modified_tsz "": 20100824, "" prijs "": 1234.56, "" currency_code "": """", "" hoeveelheid "": 1000, "" markeringen "": [], "" materialen "": [], "" featured_rank "": verklaar, "" state_tsz "" nietig: 0, "" tint "": 0, "" verzadiging "": 0, "" helderheid "": 0, "" is_black_and_white "": waar, "" urls "": """", "" meningen "": 9876}]“
        Schemerige lstCollections als Nieuwe ListingCollections ()
        Schemerig Mej. als Nieuwe MemoryStream (Encoding.UTF8.GetBytes (json))
        Schemerige ser als Nieuwe DataContractJsonSerializer (lstCollections.GetType ())
        lstCollections = TryCast (ser.ReadObject (Mej.), ListingCollections)
        Console.WriteLine („de staatswaarde van het derde json element van resultaten is: “ & lstCollections.EtsyListings.Item (0) .is_black_and_white)
        Mej. Sluit ()
    Beëindig Sub


     _
    Openbare Klasse ListingCollections
        Privé _EtsyListings als Lijst (van Listingv2)
        Privé _totcount als Geheel

         _
        Openbaar Bezit EtsyListings () als Lijst (van Listingv2)
            Krijg
                Keer _EtsyListings terug
            Het eind krijgt
            Reeks (waarde ByVal als Lijst (van Listingv2))
                _EtsyListings = waarde
            De Reeks van het eind
        Het Bezit van het eind

         _
        Openbaar Bezit totcount () als Geheel
            Krijg
                Keer _totcount terug
            Het eind krijgt
            Reeks (waarde ByVal als Geheel)
                _totcount = waarde
            De Reeks van het eind
        Het Bezit van het eind

        Openbare Sub Nieuw ()
        Sub van het eind

        Openbare Sub Nieuw (ByVal EtsyListings als Lijst (van Listingv2), ByVal totcount als Geheel)
            Me. _EtsyListings = EtsyListings
            Me. _totcount = totcount
        Sub van het eind

    De Klasse van het eind

     _
    Openbare Klasse Listingv2
        Privé _listing_id als Geheel
        Privé _state als Koord
        Privé _user_id als Geheel
        Privé _title als Koord
        Privé _description als Koord
        Privé _creation_tsz als Geheel
        Privé _ending_tsz als Geheel
        Privé _original_creation_tsz als Geheel
        Privé _last_modified_tsz als Geheel
        Privé _price zoals Decimaal?
        Privé _currency_code als Koord
        Privé _quantity als Geheel
        Privé _tags als Lijst (van Koord)
        Privé _materials als Lijst (van Koord)
        Privé _featured_rank als Nullable (van Geheel)
        Privé _state_tsz als Geheel
        Privé _hue als Geheel
        Privé _saturation als Geheel
        Privé _brightness als Geheel
        Privé _is_black_and_white zoals Van Boole
        Privé _url als Koord
        Privé _views als Geheel

         _
        Openbaar Bezit listing_id () als Geheel
            Krijg
                Keer _listing_id terug
            Het eind krijgt
            Reeks (waarde ByVal als Geheel)
                _listing_id = waarde
            De Reeks van het eind
        Het Bezit van het eind

         _
        De openbare staat van het Bezit () als Koord
            Krijg
                Keer als terug (_state is niets, "", _state)
            Het eind krijgt
            Reeks (waarde ByVal als Koord)
                _state = waarde
            De Reeks van het eind
        Het Bezit van het eind

         _
        Openbaar Bezit user_id () als Geheel
            Krijg
                Keer _user_id terug
            Het eind krijgt
            Reeks (waarde ByVal als Geheel)
                _user_id = waarde
            De Reeks van het eind
        Het Bezit van het eind

         _
        De openbare titel van het Bezit () als Koord
            Krijg
                Keer _title terug
            Het eind krijgt
            Reeks (waarde ByVal als Koord)
                _title = waarde
            De Reeks van het eind
        Het Bezit van het eind

         _
        De openbare beschrijving van het Bezit () als Koord
            Krijg
                Keer _description terug
            Het eind krijgt
            Reeks (waarde ByVal als Koord)
                _description = waarde
            De Reeks van het eind
        Het Bezit van het eind

         _
        Openbaar Bezit creation_tsz () als Geheel
            Krijg
                Keer _creation_tsz terug
            Het eind krijgt
            Reeks (waarde ByVal als Geheel)
                _creation_tsz = waarde
            De Reeks van het eind
        Het Bezit van het eind

         _
        Openbaar Bezit ending_tsz () als Geheel
            Krijg
                Keer _ending_tsz terug
            Het eind krijgt
            Reeks (waarde ByVal als Geheel)
                _ending_tsz = waarde
            De Reeks van het eind
        Het Bezit van het eind

         _
        Openbaar Bezit original_creation_tsz () als Geheel
            Krijg
                Keer _original_creation_tsz terug
            Het eind krijgt
            Reeks (waarde ByVal als Geheel)
                _original_creation_tsz = waarde
            De Reeks van het eind
        Het Bezit van het eind

         _
        Openbaar Bezit last_modified_tsz () als Geheel
            Krijg
                Keer _last_modified_tsz terug
            Het eind krijgt
            Reeks (waarde ByVal als Geheel)
                _last_modified_tsz = waarde
            De Reeks van het eind
        Het Bezit van het eind

         _
        De openbare prijs van het Bezit () zoals Decimaal?
            Krijg
                Keer als terug (_price is niets, 0D, _price)
            Het eind krijgt
            Reeks (waarde ByVal zoals Decimaal?)
                _price = waarde
            De Reeks van het eind
        Het Bezit van het eind

         _
        Openbaar Bezit currency_code () als Koord
            Krijg
                Keer als terug (_currency_code is niets, "", _currency_code)
            Het eind krijgt
            Reeks (waarde ByVal als Koord)
                _currency_code = waarde
            De Reeks van het eind
        Het Bezit van het eind

         _
        De openbare hoeveelheid van het Bezit () als Geheel
            Krijg
                Keer _quantity terug
            Het eind krijgt
            Reeks (waarde ByVal als Geheel)
                _quantity = waarde
            De Reeks van het eind
        Het Bezit van het eind

         _
        De openbare Markeringen van het Bezit () als Lijst (van Koord)
            Krijg
                Keer _tags terug
            Het eind krijgt
            Reeks (waarde ByVal als Lijst (van Koord))
                _tags = waarde
            De Reeks van het eind

        Het Bezit van het eind
         _
        De openbare materialen van het Bezit () als Lijst (van Koord)
            Krijg
                Keer _materials terug
            Het eind krijgt
            Reeks (waarde ByVal als Lijst (van Koord))
                _tags = _materials
            De Reeks van het eind

        Het Bezit van het eind

         _
        Openbaar Bezit featured_rank () als Nullable (van Geheel)
            Krijg
                Keer _featured_rank terug
            Het eind krijgt
            Reeks (waarde ByVal als Nullable (van Geheel))
                _featured_rank = waarde
            De Reeks van het eind
        Het Bezit van het eind

         _
        Openbaar Bezit state_tsz () als Geheel
            Krijg
                Keer _state_tsz terug
            Het eind krijgt
            Reeks (waarde ByVal als Geheel)
                _state_tsz = waarde
            De Reeks van het eind
        Het Bezit van het eind

         _
        De openbare tint van het Bezit () als Geheel
            Krijg
                Keer _hue terug
            Het eind krijgt
            Reeks (waarde ByVal als Geheel)
                _hue = waarde
            De Reeks van het eind
        Het Bezit van het eind

         _
        De openbare verzadiging van het Bezit () als Geheel
            Krijg
                Keer _saturation terug
            Het eind krijgt
            Reeks (waarde ByVal als Geheel)
                _saturation = waarde
            De Reeks van het eind
        Het Bezit van het eind

         _
        De openbare helderheid van het Bezit () als Geheel
            Krijg
                Keer _brightness terug
            Het eind krijgt
            Reeks (waarde ByVal als Geheel)
                _brightness = waarde
            De Reeks van het eind
        Het Bezit van het eind

         _
        Openbaar Bezit is_black_and_white () zoals Van Boole
            Krijg
                Keer _is_black_and_white terug
            Het eind krijgt
            Reeks (waarde ByVal zoals Van Boole)
                _is_black_and_white = waarde
            De Reeks van het eind
        Het Bezit van het eind

         _
        Openbaar Bezit URL () als Koord
            Krijg
                Keer _url terug
            Het eind krijgt
            Reeks (waarde ByVal als Koord)
                _url = waarde
            De Reeks van het eind
        Het Bezit van het eind

         _
        De openbare meningen van het Bezit () als Geheel
            Krijg
                Keer _views terug
            Het eind krijgt
            Reeks (waarde ByVal als Geheel)
                _views = waarde
            De Reeks van het eind
        Het Bezit van het eind

        Openbare Sub Nieuw ()
        Sub van het eind

        Openbare Sub Nieuw (ByVal listing_id als Geheel, staat ByVal als Koord, ByVal user_id als Geheel, ByVal titel als Koord, beschrijving ByVal als Koord, ByVal creation_tsz als Geheel, ByVal ending_tsz als Geheel, ByVal original_creation_tsz als Geheel, ByVal last_modified_tsz als Geheel, prijs ByVal zoals Decimaal, ByVal currency_code als Koord, hoeveelheid ByVal als Geheel, markeringen ByVal als Lijst (van Koord), materialen ByVal als Lijst (van Koord), ByVal featured_rank als Nullable (van Geheel), ByVal state_tsz als Geheel, ByVal tint als Geheel, ByVal verzadiging als Geheel, helderheid ByVal als Geheel, ByVal is_black_and_white zoals Van Boole, ByVal url als Koord, Meningen ByVal als Geheel)
            Me. _listing_id = listing_id
            Me. _state = staat
            Me. _user_id = user_id
            Me. _title = titel
            Me.description = beschrijving
            Me. _creation_tsz = creation_tsz
            Me. _ending_tsz = ending_tsz
            Me. _original_creation_tsz = original_creation_tsz
            Me. _last_modified_tsz = last_modified_tsz
            Me. _price = prijs
            Me. _currency_code = currency_code
            Me. _quantity = hoeveelheid
            Me. _tags = markeringen
            Me. _materials = materialen
            Me. _featured_rank = featured_rank
            Me. _state_tsz = state_tsz
            Me. _hue = tint
            Me. _saturation = verzadiging
            Me. _brightness = helderheid
            Me. _is_black_and_white = is_black_and_white
            Me. _url = url
            Me. _views = meningen

        Sub van het eind

    De Klasse van het eind

De Module van het eind
Andere oplossingen  
 
programming4us programming4us