adafruit / adafruit/Adafruit_CircuitPython_JSON_Stream

A value of null is not understood

Ouverte
#12 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Python
Étoiles
2
Forks
7
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

In json "null" is a valid value for an item in a list or object. `json.loads("null")` returns `None`.
Because `next_value` returns `json.loads(value_string)` or `None` (or a Transient subclass), and that value is compared to `None`, a list like [1,2,null,3,4,5] is wrongly interpreted.
Here is a comparison with `json_stream` too.

```py
import adafruit_json_stream
import json_stream
import io

def test_null_item(json_stream):
print("-"*10)
source = io.BytesIO(b'[1,2,null,3,4]')
stream = json_stream.load(source)
for item in stream:
print("-", item)

test_null_item(adafruit_json_stream)
test_null_item(json_stream)
```
```
----------
- 1
- 2
----------
- 1
- 2
- None
- 3
- 4
```

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Commencez par next_value et reproduisez le problème avec l’exemple io.BytesIO fourni, en comparant l’itération sur [1,2,null,3,4]. C’est terminé lorsqu’un élément JSON null est produit sous forme de None et que l’itération se poursuit avec les valeurs restantes.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
backend
Type d'issue
Bug
Difficulté
2/5
Temps estimé
1-3 heures
Activité
À l'abandon
Clarté
Clairement spécifiée
Accessibilité débutants
50/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.