JSON Deserialisieren in einen Objekt - (VB.NET)
Ich habe ein Problem mit bekommen, einige der Werte von mit dieser json-string:
{
"kind": "shopping#products",
"etag": "\"YZWJaKE3MHROIW8rCIlu9mAACLM/6qxBB-GwuSPy5L3_zVS6sS2NYFI\"",
"id": "tag:google.com,2010:shopping/products",
"selfLink": "https://www.googleapis.com/shopping/search/v1/public/products?country=US&q=Bauerfeind+MalleoTrain+Ankle+Support,+Circumference+in+inches+6+3/4+-+7+1/2+,+Left,+Color+Titanium+&rankBy=price:descending&maxResults=1&startIndex=1",
"nextLink": "https://www.googleapis.com/shopping/search/v1/public/products?country=US&q=Bauerfeind+MalleoTrain+Ankle+Support,+Circumference+in+inches+6+3/4+-+7+1/2+,+Left,+Color+Titanium+&rankBy=price:descending&maxResults=1&startIndex=2",
"totalItems": 46,
"startIndex": 1,
"itemsPerPage": 1,
"currentItemCount": 1,
"items": [
{
"kind": "shopping#product",
"id": "tag:google.com,2010:shopping/products/5944931/17136892246969389705",
"selfLink": "https://www.googleapis.com/shopping/search/v1/public/products/5944931/gid/17136892246969389705",
"product": {
"googleId": "17136892246969389705",
"author": {"name": "Superemployee.com","accountId": "5944931"},
"creationTime": "2011-08-28T07:46:29.000Z",
"modificationTime": "2011-09-11T06:02:54.000Z",
"country": "US",
"language": "en",
"title": "Bauerfeind MalleoTrain Ankle Support Circumference in inches 6 3/4 - 7 1/2 Left Color Black",
"description": "Bauerfeind MalleoTrain Ankle Support Circumference in inches 6 3/4 - 7 1/2 Left Color Black : Bauerfeind MalleoTrain Ankle Support, Circumference in inches 6 3/4 - 7 1/2 , Left, Color Black MalleoTrain relieves ankle pain and swelling during sports and everyday activities. Product Features: Knitted ankle support incorporating an anatomically contoured silicone insert behind each ankle bone . Silicone inserts leave ankle bones pressure-free and provide intermittent compression to the soft tissue of the joint, leading to increased circulation, thus aiding in the reduction of swelling and edema . Promotes proprioception , thus heightening sensory awareness in the ankle for increased joint stabilization . Anatomical knit carries controlled compression graduated at the edges to prevent constriction of circulation . Lightweight, breathable knit will not retain heat and is completely machine washable . Can be used to treat: Ankle swelling and soreness . Ankle sprains . Ligamental weakness and slight ligamentous tears . Degenerative joint disease (osteoarthritis) . Synovitis . ? Bursitis . Arthritis, osteoarthritis . Post cast . Product photo may not exactly match the product offered for sale. Please refer to the product description.",
"link": "http://superemployee-com.amazonwebstore.com/Bauerfeind-MalleoTrain-Ankle-Support-Circumference-in/M/B001D0PFRY.htm?traffic_src=froogle&utm_medium=CSE&utm_source=froogle",
"brand": "Bauerfeind",
"condition": "new",
"inventories": [{"channel": "online", "availability": "inStock","price": 90.0,"currency": "USD"} ],
"images": [{"link": "http://ecx.images-amazon.com/images/I/31xD5bPI4sL.jpg?gdapi"}
]
}
}
]
Ich habe versucht, mit und erstellen von Klassen, kann aber nicht Daten zurückgeben, abgesehen von den oberen zwei Ebenen, zum Beispiel bin ich beim abrufen der Preis, aber kann nicht herausfinden, wie die zum extrahieren dieser Daten?
Dies ist der code, den ich verwende, und es gibt nichts:
<DataContract(Namespace:="")> _
Public Class items
<DataMember(Name:="product")>
Public Property product As product
End Class
<DataContract(Name:="product", Namespace:="")> _
Public Class product
<DataMember(Name:="inventories")>
Public Property inventories As inventories
End Class
<DataContract(Name:="inventories", Namespace:="")> _
Public Class inventories
<DataMember(Name:="price")>
Public Property price As Double
End Class
Vielen Dank für jede Hilfe
Verwenden JSON.net Rahmen änderte ich meine Klassen, die folgenden aber noch nichts zurückbekommen für den Preis?
Public Class items
Public Property product As product()
Public Property kind As String
End Class
Public Class product
Public Property inventories As inventories()
End Class
Public Class inventories
Public Property price As Double
End Class
InformationsquelleAutor Standage | 2011-09-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Würd ich empfehlen JSON.net als SBlackler haben. Ich schrieb einen test in C#, basierend auf den Objekten und das JSON-Objekt, das Sie geschrieben und war in der Lage zu bauen ist alles in Ordnung. Hier ist mein code.
Ich bin ein bisschen unsicher über die Struktur der json-Objekt, aber die Vorräte scheint ein array. In dem Beispiel, das Sie geschrieben, es erschien, dass Sie versuchen, die "Preis" - Wert des ersten Objekt in dem array, und mein code macht das. Wenn es mehrere Objekte in den Inventaren array, möchten Sie möglicherweise passen Sie Ihre Objekte und den code, füllt Sie entsprechend.
Hier sind meine Objekte:
Den oben genannten code angenommen, es wird IMMER mindestens ein Objekt in die Bestände array und ziehen Sie nur von der ersten. So möchten Sie vielleicht, um zu rekonstruieren, die code sollte es werden mehrere Objekte in den Inventaren array.
Sowie die überarbeiteten Objekte
Ich hoffe das löst, was Sie gesucht haben. Viel Glück!
Sorry! Ursprünglich habe ich versucht, es zu tun in VB, aber mein Verstand kann das einfach nicht VB, haha, so schrieb ich es so, wie ich konnte. Btw, gib mir, dass der check-marky-Ding, wenn Sie wollen =D
Keine Sorge, ich habe angekreuzt, du bis
Oh man, das Letzte bisschen helfen, wenn du kannst, mit deinem code habe ich versucht um die Daten zu erhalten, die stattfinden wird, in der 'link' - Feld, aber nicht bekommen kann es durchaus arbeiten, ich habe einen neuen Eintrag in der class-Produkt für es, kann aber nicht darauf zugreifen innerhalb der for-each-Schleife.
Scratch, dass ich es herausgefunden haben, war, fehlen die Klammern für [Produkte], wenn Sie versuchen, um den link Wert.
InformationsquelleAutor arrowgamer
Haben Sie getroffen, einen Blick auf JSON.net?
Es ist eine sehr schnelle Serialisierung/Deserialisierung Rahmen. Einmal in Ihrem Projekt, die Sie tun können:
Homepage: http://james.newtonking.com/pages/json-net.aspx
NB: Mein Beispiel vielleicht etwas abseits, nicht geprüft die syntax.:)
InformationsquelleAutor Stuart Blackler