2017-11-20 2 views
-2

ich bin irgendwie neu zu programmieren, aber ich fand, dass Python nicht die Geschwindigkeit hatte, die ich brauchte, also ich wechselte, um einen Schaber zu bauen, und ich muss ein, was aussieht, um eine ASCII-formatierte Zeichenfolge sein zu konvertieren Json, aber ich kann keine gute Dokumentation finden, wie man das macht.ASCII zu Json in gehen

die Zeichenfolge i konvertieren benötigen sieht ungefähr so ​​aus: debug% 22% 3Afalse% 2C% 22pageOpts% 22% 3A% 7B% 22noBidIfUnsold% 22% 3Atrue% 2C% 22keywords% 22% 3A% 7B% 22no-SNO finn-object_type% 22% 3A% 22private% 22% 2C% 22no-sno-finn-car_make% 22% 3A% 22796% 22% 2% 22aa-sch-publisher% 22% 3A% 22finn% 22% 2C% 22aa- sch-inventar_type% 22% 3A% 22klassifiziert% 22% 2C% 22aa-sch-country_code% 22% 3A% 22no% 22% 2C% 22no-sno-finn-abschnitt% 22% 3A% 22car% 22% 2C% 22no- sno-finn-ad_owner% 22% 3A% 22false% 22% 2C% 22no-sno-publishergruppe% 22% 3A% 22schibsted% 22% 2C% 22aa-sch-versorgungs_typ% 22% 3A% 22web_desktop% 22% 2C% 22no- sno-finn-subsection% 22% 3A% 22car_used% 22% 2C% 22aa-sch-seite_typ% 22% 3A% 22object% 22% 7D

Vielen Dank im Voraus!

+7

ASCII ist eine Zeichenkodierung, kein Format. Diese Zeichenfolge scheint URL-codiert zu sein. Nach der Decodierung scheint es JSON zu sein, aber es ist kein gültiges JSON-Dokument. – Adrian

+0

Danke Jungs! wie ich schon sagte, ich bin irgendwie neu zu diesem –

+0

"ASCII-formatierten String" ist keine Sache. – Flimzy

Antwort

2

Wie ein Kommentator erwähnt, Ihr String kodierte URL und decodiert werden kann unter Verwendung von url.QueryUnescape(...):

package main 

import (
    "fmt" 
    "net/url" 
) 

func main() { 
    querystr := "debug%22%3Afalse%2C%22pageOpts%22%3A%7B%22noBidIfUnsold%22%3Atrue%2C%22keywords%22%3A%7B%22no-sno-finn-object_type%22%3A%22private%22%2C%22no-sno-finn-car_make%22%3A%22796%22%2C%22aa-sch-publisher%22%3A%22finn%22%2C%22aa-sch-inventory_type%22%3A%22classified%22%2C%22aa-sch-country_code%22%3A%22no%22%2C%22no-sno-finn-section%22%3A%22car%22%2C%22no-sno-finn-ad_owner%22%3A%22false%22%2C%22no-sno-publishergroup%22%3A%22schibsted%22%2C%22aa-sch-supply_type%22%3A%22web_desktop%22%2C%22no-sno-finn-subsection%22%3A%22car_used%22%2C%22aa-sch-page_type%22%3A%22object%22%7D" 

    // Parse the URL encoded string. 
    plainstr, err := url.QueryUnescape(querystr) 
    if err != nil { 
    panic(err) 
    } 
    fmt.Println(plainstr) 
    // debug":false,"pageOpts":{"noBidIfUnsold":true,"keywords":{"no-sno-finn-object_type":"private","no-sno-finn-car_make":"796","aa-sch-publisher":"finn","aa-sch-inventory_type":"classified","aa-sch-country_code":"no","no-sno-finn-section":"car","no-sno-finn-ad_owner":"false","no-sno-publishergroup":"schibsted","aa-sch-supply_type":"web_desktop","no-sno-finn-subsection":"car_used","aa-sch-page_type":"object"} 

} 

Ihr Beispiel Zeichenfolge scheint unvollständig zu sein, aber schließlich kann es in eine Struktur oder Karte decodiert werden json.Unmarshal(...) verwenden.