suchen
HeimBackend-EntwicklungPython-TutorialDetailliertes Verständnis der Python-Operationszusammenfassung von JSON

Die am weitesten verbreitete Anwendung von Json ist das Datenformat für die Kommunikation zwischen Webservern und Clients in AJAX. In diesem Artikel wird hauptsächlich die Funktionsweise von JSON in Python vorgestellt, die einen gewissen Referenzwert hat .

Json-Einführung: Json, vollständiger Name JavaScript Object Notation, ist ein leichtes Datenaustauschformat. Die am weitesten verbreitete Anwendung von Json ist als Datenformat für die Kommunikation zwischen Webservern und Clients in AJAX. Heutzutage wird es auch häufig in HTTP-Anfragen verwendet, daher ist es selbstverständlich, alle Arten von JSON zu lernen. Offizielle Website-Adresse von Python: https://docs.python.org/2/library/json.html?highlight=json#module-json

Json-API-Verwendung: Python muss vor Version 2.6 heruntergeladen werden. Das Paket kann erst nach der Installation verwendet werden, was der heutigen Verwendung von SeleniumLibrary in RF etwas ähnelt. Aber in 2.6 heißt es in der offiziellen Dokumentation (https://docs.python.org/2.6/whatsnew/2.6.html) eindeutig, dass „der Standardbibliothek einige wichtige neue Pakete hinzugefügt wurden, wie z. B. Multiprocessing und JSON, aber mit.“ Im Vergleich zu Python 3 und 2.6 führen diese Pakete keine weiteren neuen Funktionen ein. „Wenn Sie also Python 2.6 oder höher für Kinderschuhe installieren, müssen Sie das JSON-Paket nicht herunterladen. Sie können JSON direkt dort importieren, wo Sie es benötigen, und es verwenden.“ Nach der Installation können Sie diese beiden Pakete unter Lib im Verzeichnis sehen (klicken Sie hinein und lesen Sie den Quellcode sorgfältig durch, Sie erhalten weitere Ergebnisse), wie unten gezeigt: Versionen 6 und höher unterstützen die Json-Kodierung und -Dekodierung sowie die Konvertierung der meisten integrierten Python-Typen mit Json. Das einfachste Beispiel ist wie folgt:

Detailliertes Verständnis der Python-Operationszusammenfassung von JSON

Der Encode-Prozess ist ein Prozess zum Konvertieren von Python-Objekten in JSON-Objekte. Die beiden häufig verwendeten Funktionen sind Dumps und Dump-Funktionen. Der einzige Unterschied zwischen den beiden Funktionen besteht darin, dass dump das Python-Objekt in ein JSON-Objekt konvertiert, um einen FP-Dateistream zu generieren, während dumps eine Zeichenfolge generiert:

>>> import json
>>> data = {"spam" : "foo", "parrot" : 42}
>>> in_json = json.dumps(data) # Encode the data
>>> in_json
'{"parrot": 42, "spam": "foo"}'
>>> json.loads(in_json) # Decode into a Python object
{"spam" : "foo", "parrot" : 42}

Detailliertes Verständnis der Python-Operationszusammenfassung von JSONDie Verwendung anderer Parameter ist gleich. Das Folgende sind teilweise gelernte Codeschnipsel:

Detailliertes Verständnis der Python-Operationszusammenfassung von JSON

Die laufenden Ergebnisse sind wie folgt:

dic1 = {'type':'dic1','username':'loleina','age':16}
json_dic1 = json.dumps(dic1)
print json_dic1
json_dic2 = json.dumps(dic1,sort_keys=True,indent =4,separators=(',', ': '),encoding="gbk",ensure_ascii=True )
print json_dic2

Wenn Sie den Wert des Schlüssels „Benutzername“ in der Instanz in das chinesische Wort „test“ ändern, wird ein Fehler gemeldet, wenn Sie die erste Konvertierung ohne das Hinzufügen von Parametern verwenden, die zweite Konvertierung mit Parametern jedoch normal ausgeführt wird.

Detailliertes Verständnis der Python-Operationszusammenfassung von JSON

ist eigentlich ein Prozess zum Verstehen der Parameter der Funktion. Hier sind einige häufig verwendete Parameter:

Skipkeys: Der Standardwert ist False, wenn The Daten in den Schlüsseln von dict sind nicht der Grundtyp von Python (str, unicode, int, long, float, bool, None). Wenn sie auf False gesetzt sind, wird ein TypeError gemeldet. Wenn dieser Schlüsseltyp zu diesem Zeitpunkt auf True gesetzt ist, wird er übersprungen.Detailliertes Verständnis der Python-Operationszusammenfassung von JSON

ensure_ascii: Der Standardwert ist True. Wenn das Diktat Nicht-ASCII-Zeichen enthält, werden die Daten ähnlich wie uXXXX angezeigt Auf „False“ können Sie Normal display

indent: sollte eine nicht-negative Ganzzahl sein. Wenn es 0 ist oder leer ist, werden die Daten in einer Zeile angezeigt. Andernfalls wird die Zeile umbrochen Leerzeichen werden entsprechend der Anzahl der Einrückungen angezeigt, sodass der JSON ausgedruckt wird. Die Daten werden auch als hübsch gedruckter JSON bezeichnet

Trennzeichen: Das Trennzeichen ist eigentlich ein Tupel von (item_separator, dict_separator), der Standardwert ist ( ',',':'); Dies bedeutet, dass die Schlüssel im Wörterbuch durch „“, und SCHLÜSSEL und Wert durch „“ getrennt sind.

Kodierung: Der Standardwert ist UTF-8, der die Kodierungsmethode für JSON-Daten festlegt.

sort_keys: Daten nach dem Wert der Schlüssel sortieren.

Der Dekodierprozess ist ein Prozess zum Konvertieren von JSON-Objekten in Python-Objekte. Die beiden häufig verwendeten Funktionen sind Lade- und Ladefunktionen. Der Unterschied ist der gleiche wie bei Dump und Dumps.

Die Laufergebnisse sind wie folgt:

if __name__ == '__main__':
  # 将python对象test转换json对象
  test = [{"username":"测试","age":16},(2,3),1]
  print type(test)
  python_to_json = json.dumps(test,ensure_ascii=False)
  print python_to_json
  print type(python_to_json)

  # 将json对象转换成python对象
  json_to_python = json.loads(python_to_json)
  print json_to_python
  print type(json_to_python)

从上面2个例子的测试结果可以看到,python的一些基本类型通过encode之后,tuple类型就转成了list类型了,再将其转回为python对象时,list类型也并没有转回成tuple类型,而且编码格式也发生了变化,变成了Unicode编码。具体转化时,类型变化规则如下所示:

Python-->Json

Detailliertes Verständnis der Python-Operationszusammenfassung von JSON

Json-->Python

Detailliertes Verständnis der Python-Operationszusammenfassung von JSON

Json处理中文问题:

关于python字符串的处理问题,如果深入的研究下去,我觉得可以写2篇文章了(实际上自己还没整很明白),在这里主要还是总结下使用python2.7.11处理json数据的问题。前期做接口测试,处理最多的事情就是,把数据组装成各种协议的报文,然后发送出去。然后对返回的报文进行解析,后面就遇到将数据封装在json内嵌入在http的body内发送到web服务器,然后服务器处理完后,返回json数据结果的问题。在这里面就需要考虑json里有中文数据,怎么进行组装和怎么进行解析,以下是基础学习的一点总结:

第一:Python 2.7.11的默认编码格式是ascii编码,而python3的已经是unicode,在学习编解码的时,有出现乱码的问题,也有出现list或者dictionary或者tuple类型内的中文显示为unicode的问题。出现乱码的时候,应该先看下当前字符编码格式是什么,再看下当前文件编码格式是什么,或者没有设置文件格式时,查看下IDE的默认编码格式是什么。最推崇的方式当然是每次编码,都对文件编码格式进行指定,如在文件前 设置# coding= utf-8。

第二:字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串str1转换成unicode编码。encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode('gb2312'),表示将unicode编码的字符串str2转换成gb2312编码。因此,转码的时候一定要先搞明白,字符串str是什么编码,然后decode成unicode,然后再encode成其他编码

第三:将json数据转换成python数据后,一般会得到一个dict类型的变量,此时内部的数据都是unicode编码,所以中文的显示看着很痛苦,但是对于dict得到每个key的value后,中文就能正常显示了,如下所示:

# coding= utf-8
import json
import sys

if __name__ == '__main__':
  # 将python对象test转换json对象
  test = {"username":"测试","age":16}
  print type(test)
  python_to_json = json.dumps(test,ensure_ascii=False)
  print python_to_json
  print type(python_to_json)

  # 将json对象转换成python对象
  json_to_python = json.loads(python_to_json)
  print type(json_to_python)
  print json_to_python['username']

运行结果:

Detailliertes Verständnis der Python-Operationszusammenfassung von JSON

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持PHP中文网。

更多Detailliertes Verständnis der Python-Operationszusammenfassung von JSON相关文章请关注PHP中文网!


Stellungnahme
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
Der Hauptzweck von Python: Flexibilität und BenutzerfreundlichkeitDer Hauptzweck von Python: Flexibilität und BenutzerfreundlichkeitApr 17, 2025 am 12:14 AM

Die Flexibilität von Python spiegelt sich in Multi-Paradigm-Unterstützung und dynamischen Typsystemen wider, während eine einfache Syntax und eine reichhaltige Standardbibliothek stammt. 1. Flexibilität: Unterstützt objektorientierte, funktionale und prozedurale Programmierung und dynamische Typsysteme verbessern die Entwicklungseffizienz. 2. Benutzerfreundlichkeit: Die Grammatik liegt nahe an der natürlichen Sprache, die Standardbibliothek deckt eine breite Palette von Funktionen ab und vereinfacht den Entwicklungsprozess.

Python: Die Kraft der vielseitigen ProgrammierungPython: Die Kraft der vielseitigen ProgrammierungApr 17, 2025 am 12:09 AM

Python ist für seine Einfachheit und Kraft sehr beliebt, geeignet für alle Anforderungen von Anfängern bis hin zu fortgeschrittenen Entwicklern. Seine Vielseitigkeit spiegelt sich in: 1) leicht zu erlernen und benutzten, einfachen Syntax; 2) Reiche Bibliotheken und Frameworks wie Numpy, Pandas usw.; 3) plattformübergreifende Unterstützung, die auf einer Vielzahl von Betriebssystemen betrieben werden kann; 4) Geeignet für Skript- und Automatisierungsaufgaben zur Verbesserung der Arbeitseffizienz.

Python in 2 Stunden am Tag lernen: Ein praktischer LeitfadenPython in 2 Stunden am Tag lernen: Ein praktischer LeitfadenApr 17, 2025 am 12:05 AM

Ja, lernen Sie Python in zwei Stunden am Tag. 1. Entwickeln Sie einen angemessenen Studienplan, 2. Wählen Sie die richtigen Lernressourcen aus, 3. Konsolidieren Sie das durch die Praxis erlernte Wissen. Diese Schritte können Ihnen helfen, Python in kurzer Zeit zu meistern.

Python gegen C: Vor- und Nachteile für EntwicklerPython gegen C: Vor- und Nachteile für EntwicklerApr 17, 2025 am 12:04 AM

Python eignet sich für eine schnelle Entwicklung und Datenverarbeitung, während C für hohe Leistung und zugrunde liegende Kontrolle geeignet ist. 1) Python ist einfach zu bedienen, mit prägnanter Syntax, und eignet sich für Datenwissenschaft und Webentwicklung. 2) C hat eine hohe Leistung und eine genaue Kontrolle und wird häufig bei der Programmierung von Spielen und Systemen verwendet.

Python: zeitliches Engagement und LerntempoPython: zeitliches Engagement und LerntempoApr 17, 2025 am 12:03 AM

Die Zeit, die zum Erlernen von Python erforderlich ist, variiert von Person zu Person, hauptsächlich von früheren Programmiererfahrungen, Lernmotivation, Lernressourcen und -methoden und Lernrhythmus. Setzen Sie realistische Lernziele und lernen Sie durch praktische Projekte am besten.

Python: Automatisierung, Skript- und AufgabenverwaltungPython: Automatisierung, Skript- und AufgabenverwaltungApr 16, 2025 am 12:14 AM

Python zeichnet sich in Automatisierung, Skript und Aufgabenverwaltung aus. 1) Automatisierung: Die Sicherungssicherung wird durch Standardbibliotheken wie OS und Shutil realisiert. 2) Skriptschreiben: Verwenden Sie die PSUTIL -Bibliothek, um die Systemressourcen zu überwachen. 3) Aufgabenverwaltung: Verwenden Sie die Zeitplanbibliothek, um Aufgaben zu planen. Die Benutzerfreundlichkeit von Python und die Unterstützung der reichhaltigen Bibliothek machen es zum bevorzugten Werkzeug in diesen Bereichen.

Python und Zeit: Machen Sie das Beste aus Ihrer StudienzeitPython und Zeit: Machen Sie das Beste aus Ihrer StudienzeitApr 14, 2025 am 12:02 AM

Um die Effizienz des Lernens von Python in einer begrenzten Zeit zu maximieren, können Sie Pythons DateTime-, Zeit- und Zeitplanmodule verwenden. 1. Das DateTime -Modul wird verwendet, um die Lernzeit aufzuzeichnen und zu planen. 2. Das Zeitmodul hilft, die Studie zu setzen und Zeit zu ruhen. 3. Das Zeitplanmodul arrangiert automatisch wöchentliche Lernaufgaben.

Python: Spiele, GUIs und mehrPython: Spiele, GUIs und mehrApr 13, 2025 am 12:14 AM

Python zeichnet sich in Gaming und GUI -Entwicklung aus. 1) Spielentwicklung verwendet Pygame, die Zeichnungen, Audio- und andere Funktionen bereitstellt, die für die Erstellung von 2D -Spielen geeignet sind. 2) Die GUI -Entwicklung kann Tkinter oder Pyqt auswählen. Tkinter ist einfach und einfach zu bedienen. PYQT hat reichhaltige Funktionen und ist für die berufliche Entwicklung geeignet.

See all articles

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ßer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

SAP NetWeaver Server-Adapter für Eclipse

SAP NetWeaver Server-Adapter für Eclipse

Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

SecLists

SecLists

SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft