Python ValueError: Es konnte kein JSON-Objekt dekodiert werden

Salman Mehmood 21 Juni 2023
  1. Decodieren Sie das JSON-Objekt in Python
  2. Decodieren Sie JSON-String in ein Python-Objekt
  3. Codieren Sie das Python-Objekt in einen JSON-String
Python ValueError: Es konnte kein JSON-Objekt dekodiert werden

Wir werden den Namensfehler besprechen, wie ein Python-Objekt in ein JSON codiert und eine benachbarte Zeichenfolge in ein Python-Objekt decodiert wird. Wir werden auch erfahren, warum wir JSON-Daten nicht parsen können.

Decodieren Sie das JSON-Objekt in Python

Beginnen wir mit dem Importieren des json-Moduls, und für diese Sitzung planen wir, Python-Objekte in angrenzenden Text zu codieren und zu decodieren. Wir wechseln also zur nächsten Zeile und definieren eine Variable, die eine ganze kleine Zeichenfolge speichert, in der wir einige Schlüssel-Wert-Paare haben werden.

Wenn wir dies drucken, sehen wir, dass es so gedruckt wird, wie wir es in der Variablen definiert haben, was bedeutet, dass es sich um eine Zeichenfolge handelt.

Code:

import json

Sample_json = '{"Employee_Name":"Garry","Employee_Age":29}'
print(Sample_json)
# We can see the type of this Sample_json using the type() function
print(type(Sample_json))

Ausgang:

{"Employee_Name":"Garry","Employee_Age":29}
<class 'str'>

Decodieren Sie JSON-String in ein Python-Objekt

Jetzt mussten wir es in ein Python-Objekt decodieren, und es wird genau in ein Python-Wörterbuch konvertiert. Wir werden die Methode json.loads() verwenden, um benachbarte Strings zu decodieren, und gleichzeitig werden wir auch den Typ des Objekts drucken.

import json

Sample_obj = json.loads(Sample_json)
print(Sample_obj)
print(type(Sample_obj))

Ausgang:

{'Employee_Name': 'Garry', 'Employee_Age': 29}
<class 'dict'>

Codieren Sie das Python-Objekt in einen JSON-String

Nun haben wir gesehen, dass ein JSON-String mit Hilfe der Methode json.loads() in ein Python-Dictionary-Objekt dekodiert werden kann. Lassen Sie uns ein weiteres Beispiel haben, in dem wir ein Python-Objekt konvertieren oder wie ein Python-Objekt in eine JSON-Zeichenfolge codiert wird.

Lassen Sie uns ein weiteres Objekt namens Sample_json2 definieren, das ein Wörterbuch sein wird. Um das in JSON umzuwandeln, verwenden wir die Methode json.dumps().

Dann stellen wir das Objekt bereit, das wir in eine JSON-Zeichenfolge codieren möchten. Jetzt können wir den Ausgabetyp sehen, den die Methode dumps() generiert hat, und wir können sehen, dass ihr Typ str(string) ist.

Code:

import json

Sample_json2 = {"Employee_Name": "Garry", "Employee_Age": 29}
print(Sample_json2)
print(type(Sample_json2))
temp = json.dumps(Sample_json2)
print(temp)
print(type(temp))

Ausgang:

{'Employee_Name': 'Garry', 'Employee_Age': 29}
<class 'dict'>
{"Employee_Name": "Garry", "Employee_Age": 29}
<class 'str'>

Die Methode dumps() kodiert ein Python-Objekt in einen angrenzenden String und die Methode loads() dekodiert einen JSON-String in ein Python-Objekt. Wenn wir diesem Ansatz folgen, erhalten wir nicht den Wertfehler, den wir manchmal erhalten, wenn wir die JSON-Daten analysieren.

Es kann viele Gründe dafür geben, dass JSON-Daten in Python nicht analysiert werden können. Einer davon ist, dass wir manchmal versuchen, einen leeren String oder eine leere Datei zu decodieren, oder vielleicht geben wir den falschen Pfad der JSON-Datei an.

Salman Mehmood avatar Salman Mehmood avatar

Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.

LinkedIn

Verwandter Artikel - Python Error