adafruit / adafruit/Adafruit_CircuitPython_JSON_Stream

A value of null is not understood

Aperta
#12 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Python
Stelle
2
Fork
7
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

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
```

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Parti da next_value e riproduci il problema con l’esempio io.BytesIO fornito, confrontando l’iterazione su [1,2,null,3,4]. Il lavoro è completato quando un elemento JSON null viene restituito come None e l’iterazione continua con i valori rimanenti.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python
Ambito
backend
Tipo di issue
Bug
Difficoltà
2/5
Tempo stimato
1-3 ore
Stato di attività
Ferma
Chiarezza
Specificata chiaramente
Idoneità per principianti
50/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.