2016-06-24 6 views
0

Ich versuche, Text zu normalisieren, den ich von meiner Website, die Woocommerce cms verwendet. Welche Art von String ist dies:Split-Funktion für Strings funktionieren nicht nach GET-Antwort

Produkte ": [{" title ":" INTERMEC PC43T USB Barkod Yaz \ u0131c \ u0131" , "id": 369, "created_at": "2016-01-24T02 : 26: 13Z "," updated_at ":" 2016-06-13T09: 26: 04Z "," type ":" einfach "," status ":" veröffentlichen "," herunterladbar ": false," virtual ": false, "sku": "", "price": "239", "regulary_price": "239", "sale_price": null, "price_html": "$ 239,00 </span>", "steuerbar": true, "tax_status": "steuerpflichtige", "tax_class": "", "managing_stock": false, "stock_quantity": null, "in_stock": true, "backorders_allowed": false, ...

I couldn zieh die Werte nicht einzeln an oder normalisiere diese Zeichenfolge Ich habe viele Dinge zum Teilen gefunden Saiten aber sie haben nicht funktioniert. Zum Beispiel habe ich versucht:

Dim product As String = wac.GetAllProducts() ' Get data from WoocommerceApiClient 
product.ToArray() 
Dim normalized As String() = Split(product, ",", , CompareMethod.Text) 
Console.WriteLine(normalized) 

... und

Dim normalized As String() = Split(product, """", , CompareMethod.Text) 

Ich habe eine Ausgabe etwas wie 0N1GlcZDZCFbQXa5w3GZlCSG3CNbbgxYHZzbNRiZG6k = System.String []

Wie kann ich diese Strings normalisieren? Ich brauche auch Teile (Eigenschaften und Werte) davon.

+5

, die eher wie JSON aussieht, so sollten Sie in der Lage sein, ein Tool wie JSON.NET zu verwenden, um es zu analysieren. – jmcilhinney

+0

Ja, ich habe Newtonsoft Json benutzt, und das hat das Problem gelöst. Danke vielmals. – onurcano22

Antwort

0

Ich habe NewtonSoft Json verwendet und das Problem gelöst, indem ich simple json parse method gefunden habe. Hier ist mein letzter Code:

Imports Newtonsoft.Json 
Imports Newtonsoft.Json.Linq 

...

Dim line = wac.GetProducts() 

Dim json As String = line.ToString() 

Dim ser As JObject = JObject.Parse(json) 
Dim data As List(Of JToken) = ser.Children().ToList 

For Each item As JProperty In data 
    item.CreateReader() 
    Select Case item.Name 
     ' Case "products" 
     '  MessageBox.Show(item.Name) 
     Case "products" 
      For Each msg As JObject In item.Values 

       Dim product_id As String = msg("id") 
       Dim product_title As String = msg("title") 
       Dim product_price As String = msg("price") 
       products_dgv.Rows.Add(product_id, product_title, product_price) 


      Next 
    End Select 
Next 
Verwandte Themen