Inhaltsverzeichnis
Frageninhalt
解决方法
Heim Backend-Entwicklung Golang Erhalten Sie verschachtelte Schlüssel-Wert-Paare von x-www-form-urlencoded-Anfragen im JSON-Format in Golang

Erhalten Sie verschachtelte Schlüssel-Wert-Paare von x-www-form-urlencoded-Anfragen im JSON-Format in Golang

Feb 09, 2024 pm 03:15 PM
字符串解析 键值对

Erhalten Sie verschachtelte Schlüssel-Wert-Paare von x-www-form-urlencoded-Anfragen im JSON-Format in Golang

In Golang stoßen Sie bei der Verarbeitung von x-www-form-urlencoded-Anfragen im JSON-Format manchmal auf verschachtelte Schlüssel-Wert-Paare. Der PHP-Editor Baicao bietet für jeden eine Lösung. Mithilfe der Funktion json.Unmarshal wird der Anforderungstext in den Typ „map[string]interface{}“ analysiert und anschließend der Wert des verschachtelten Schlüssel-Wert-Paares durch Typzusicherung und Typkonvertierung abgerufen. Diese Methode ist einfach und effektiv und kann Entwicklern dabei helfen, solche Anfragen problemlos zu bearbeiten. Als nächstes werden wir die spezifischen Implementierungsschritte im Detail vorstellen.

Frageninhalt

Ich habe einen Anwendungsfall, bei dem wir verschachtelte Schlüsselwerte im x-www-form-urlencoded ​​Textkörper erhalten, wie unten gezeigt

name=abc&age=12&notes[key1]=value1&notes[key2]=value2

Ich habe es versucht url.parsequery("name=abc&age=12&notes[key1]=value1&notes[key2]=value2"), aber es hat geklappt

{
  "name": "abc",
  "age": 12,
  "notes[key1]": "value1",
  "notes[key2]": "value2"
}
Nach dem Login kopieren

So erhalten Sie den Wert im folgenden JSON-Format für den obigen Text

{
  "name": "abc",
  "age": 12,
  "notes": {
    "key1": "value1",
    "key2": "value2"
  }
}
Nach dem Login kopieren

Kommentare können im 3-Ebenen-verschachtelten Format vorliegen

Ich habe url.parsequery und r.form ausprobiert, aber beide geben notes[key1] und notes[key2] </code >. <code>url.parsequeryr.form 但它们都给出了 notes[key1]notes[key2]

解决方法

要使用这种类型的查询字符串参数名称解​​组嵌套键值,可以使用 derekstavis/go -qsProblemumgehung

Um verschachtelte Schlüsselwerte mit diesem Typ von Abfragezeichenfolge-Parameternamen zu entmarshalieren, können Sie verwenden derekstavis/go -qsmap[string]interface{} Dies ist ein Port des Rack-Query-String-Parsers.

Dies gibt ein age 的值作为字符串返回,但是,这对于 url.parsequery mit den folgenden verschachtelten Schlüsselwerten zurück.

Es ist erwähnenswert, dass

dasselbe ist. Dieses Paket kann geforkt und geändert werden, wenn es in Ganzzahlen gemarshallt werden muss.

{
  "age": "12",
  "name": "abc",
  "notes": {
    "key1": "value1",
    "key2": "value2"
  }
}
Nach dem Login kopieren
Ein vollständiges Beispiel ist auf dem Go-Playground verfügbar, der Code lautet wie folgt:

go-Spielplatz-URL: 🎜https://www.php.cn/link/0fc780bb04e74ce5ed154d2e49cfe2fd🎜 🎜
package main

import (
    "encoding/json"
    "fmt"
    "log"

    qs "github.com/derekstavis/go-qs"
)

func main() {
    v := "name=abc&age=12&notes[key1]=value1&notes[key2]=value2"

    q, err := qs.Unmarshal(v)
    if err != nil {
        log.Fatal(err)
    }

    j, err := json.MarshalIndent(q, "", "  ")
    if err != nil {
        log.Fatal(err)
    }

    fmt.Println(string(j))
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonErhalten Sie verschachtelte Schlüssel-Wert-Paare von x-www-form-urlencoded-Anfragen im JSON-Format in Golang. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie ist die Methode, um Vue.js -Zeichenfolgen in Objekte umzuwandeln? Wie ist die Methode, um Vue.js -Zeichenfolgen in Objekte umzuwandeln? Apr 07, 2025 pm 09:18 PM

Die Verwendung von JSON.Parse () String to Object ist am sichersten und effizientesten: Stellen Sie sicher, dass die Zeichenfolgen den JSON -Spezifikationen entsprechen, und vermeiden Sie häufige Fehler. Verwenden Sie Try ... Fang, um Ausnahmen zu bewältigen, um die Code -Robustheit zu verbessern. Vermeiden Sie die Verwendung der Methode EVAL (), die Sicherheitsrisiken aufweist. Für riesige JSON -Saiten kann die Analyse oder eine asynchrone Parsen in Betracht gezogen werden, um die Leistung zu optimieren.

Java-Datenstrukturen und -Algorithmen: Ein praktischer Leitfaden zum Cloud Computing Java-Datenstrukturen und -Algorithmen: Ein praktischer Leitfaden zum Cloud Computing May 09, 2024 am 08:12 AM

Der Einsatz von Datenstrukturen und Algorithmen ist im Cloud Computing von entscheidender Bedeutung, um riesige Datenmengen zu verwalten und zu verarbeiten. Zu den gängigen Datenstrukturen gehören Arrays, Listen, Hash-Tabellen, Bäume und Diagramme. Zu den häufig verwendeten Algorithmen gehören Sortieralgorithmen, Suchalgorithmen und Diagrammalgorithmen. Mithilfe der Leistungsfähigkeit von Java können Entwickler Java-Sammlungen, threadsichere Datenstrukturen und Apache-Commons-Sammlungen verwenden, um diese Datenstrukturen und Algorithmen zu implementieren.

Was sind die besten Praktiken für das Umwandeln von XML in Bilder? Was sind die besten Praktiken für das Umwandeln von XML in Bilder? Apr 02, 2025 pm 08:09 PM

Das Konvertieren von XML in Bilder kann in den folgenden Schritten erreicht werden: Analyse von XML -Daten und extrahieren visuelle Elementinformationen. Wählen Sie die entsprechende Grafikbibliothek (z. B. Kissen in Python, Jfreechart in Java), um das Bild zu rendern. Verstehen Sie die XML -Struktur und bestimmen Sie, wie die Daten verarbeitet werden. Wählen Sie die richtigen Werkzeuge und Methoden basierend auf der XML -Struktur und der Bildkomplexität. Erwägen Sie die Verwendung von Multithread- oder Asynchron -Programmierungen, um die Leistung zu optimieren und gleichzeitig die Lesbarkeit und Wartbarkeit der Code beizubehalten.

Wie unterscheidet ich zwischen dem Schließen eines Browser -Registerkartens und dem Schließen des gesamten Browsers mit JavaScript? Wie unterscheidet ich zwischen dem Schließen eines Browser -Registerkartens und dem Schließen des gesamten Browsers mit JavaScript? Apr 04, 2025 pm 10:21 PM

Wie unterscheidet ich zwischen den Registerkarten und dem Schließen des gesamten Browsers mit JavaScript in Ihrem Browser? Während der täglichen Verwendung des Browsers können Benutzer ...

Welche Methode wird verwendet, um Strings in Objekte in Vue.js umzuwandeln? Welche Methode wird verwendet, um Strings in Objekte in Vue.js umzuwandeln? Apr 07, 2025 pm 09:39 PM

Bei der Konvertierung von Zeichenfolgen in Objekte in Vue.js wird JSON.Parse () für Standard -JSON -Zeichenfolgen bevorzugt. Bei nicht standardmäßigen JSON-Zeichenfolgen kann die Zeichenfolge durch Verwendung regelmäßiger Ausdrücke verarbeitet und Methoden gemäß dem Format oder dekodierten URL-kodiert reduziert werden. Wählen Sie die entsprechende Methode gemäß dem String -Format aus und achten Sie auf Sicherheits- und Codierungsprobleme, um Fehler zu vermeiden.

Was ist der Prozess des Konvertierens von XML in Bilder? Was ist der Prozess des Konvertierens von XML in Bilder? Apr 02, 2025 pm 08:24 PM

Um XML -Bilder zu konvertieren, müssen Sie zuerst die XML -Datenstruktur ermitteln, dann eine geeignete grafische Bibliothek (z. B. Pythons Matplotlib) und eine Methode auswählen, eine Visualisierungsstrategie basierend auf der Datenstruktur auswählen, das Datenvolumen und das Bildformat, die Batch -Verarbeitung ausführen oder effiziente Bibliotheken verwenden und schließlich als PNG, JPEG oder SVG nach den Bedürfnissen speichern.

Hadidb: Eine leichte, horizontal skalierbare Datenbank in Python Hadidb: Eine leichte, horizontal skalierbare Datenbank in Python Apr 08, 2025 pm 06:12 PM

Hadidb: Eine leichte, hochrangige skalierbare Python-Datenbank Hadidb (HadIDB) ist eine leichte Datenbank in Python mit einem hohen Maß an Skalierbarkeit. Installieren Sie HadIDB mithilfe der PIP -Installation: PipinstallHadIDB -Benutzerverwaltung erstellen Benutzer: createUser (), um einen neuen Benutzer zu erstellen. Die Authentication () -Methode authentifiziert die Identität des Benutzers. fromHadidb.operationImportUseruser_obj = user ("admin", "admin") user_obj.

So verwenden Sie die Foreach -Schleife in Vue So verwenden Sie die Foreach -Schleife in Vue Apr 08, 2025 am 06:33 AM

Die Foreach-Schleife in Vue.js verwendet die V-für-Anweisung, mit der Entwickler jedes Element in einem Array oder Objekt durchdringen und bestimmte Operationen für jedes Element ausführen können. Die Syntax ist wie folgt: & lt; Vorlage & gt; & lt; ul & gt; & lt; li v-for = & quot; item in items & gt; & gt; {{item}} & lt;/li & gt; & lt;/ul & gt; & lt;/template & gt; & am

See all articles