Module json, JSON ile ilgili işlevlerin bulunduğu bir Starlark modülüdür.
Üyeler
kod çözmek
unknown json.decode(x, default=unbound)
"null"
,"true"
ve"false"
,None
,True
veFalse
olarak ayrıştırılır.- Sayılar int olarak veya ondalık işareti ya da üs içeriyorsa float olarak ayrıştırılır. JSON'da sonlu olmayan değerler için söz dizimi olmasa da çok büyük değerler sonsuzluk olarak çözülebilir.
- JSON nesnesi, yeni bir dondurulmamış Starlark sözlüğü olarak ayrıştırılır. Aynı anahtar dizesi nesnede birden fazla kez görünüyorsa anahtarın son değeri korunur.
- JSON dizisi, yeni dondurulmamış bir Starlark listesi olarak ayrıştırılır.
x
geçerli bir JSON kodlaması değilse ve isteğe bağlı default
parametresi belirtilmişse (None
olarak belirtilmiş olması dahil) bu işlev, default
değerini döndürür.
x
geçerli bir JSON kodlaması değilse ve isteğe bağlı default
parametresi belirtilmemişse bu işlev başarısız olur.
Parametreler
Parametre | Açıklama |
---|---|
x
|
string;
required Kod çözülecek JSON dizesi. |
default
|
Varsayılan değer unbound 'dir. Belirtilirse x kodunun çözülemediği durumlarda döndürülecek değer.
|
encode
string json.encode(x)
Kodlama işlevi, gerekli bir konumsal bağımsız değişkeni kabul eder ve bunu duruma göre JSON'a dönüştürür:
- None, True ve False sırasıyla "null", "true" ve "false" olarak dönüştürülür.
- Ne kadar büyük olursa olsun bir int, ondalık tam sayı olarak kodlanır. Bazı kod çözücüler çok büyük tam sayıları çözemeyebilir.
- Kayan nokta, sayısal değeri tam sayı olsa bile ondalık nokta veya üs ya da her ikisi kullanılarak kodlanır. Sınırsız olmayan bir kayan nokta değerinin kodlanması hataya neden olur.
- Bir dize değeri, değeri belirten bir JSON dize değişmez değeri olarak kodlanır. Eşlenmemiş her yedek karakter U+FFFD ile değiştirilir.
- Sözlük, sözlük sırasına göre anahtarlarla JSON nesnesi olarak kodlanır. Herhangi bir anahtar dize değilse hata oluşur.
- Liste veya demet, JSON dizisi olarak kodlanır.
- Yapı benzeri bir değer, alan adı sırasına göre JSON nesnesi olarak kodlanır.
Parametreler
Parametre | Açıklama |
---|---|
x
|
zorunlu |
encode_indent
string json.encode_indent(x, *, prefix='', indent='\t')
json.indent(json.encode(x), ...)
ile eşdeğerdir. Biçimlendirme parametrelerinin açıklaması için indent
adresine bakın.
Parametreler
Parametre | Açıklama |
---|---|
x
|
zorunlu |
prefix
|
string;
varsayılan değer '' |
indent
|
string;
varsayılan değer '\t' |
girinti
string json.indent(s, *, prefix='', indent='\t')
Parametreler
Parametre | Açıklama |
---|---|
s
|
string;
required |
prefix
|
string;
varsayılan değer '' |
indent
|
string;
varsayılan değer '\t' |