json

Sorun bildir Kaynağı göster Nightly · 8.0 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

json modülü, JSON ile ilgili işlevlerin bulunduğu bir Starlark modülüdür.

Üyeler

kod çözmek

unknown json.decode(x, default=unbound)

decode işlevinin zorunlu bir konumsal parametresi vardır: JSON dizesi. Dizinin belirttiği Starlark değerini döndürür.
  • "null", "true" ve "false", None, True ve False olarak ayrıştırılır.
  • Sayılar, ondalık işareti veya üs içeriyorsa int olarak ya da float olarak ayrıştırılır. JSON'da sonlu olmayan değerler için söz dizimi olmamasına rağmen çok büyük değerler sonsuz olarak kodlanabilir.
  • bir JSON nesnesi, dondurulmamış yeni bir Starlark sözlüğü olarak ayrıştırılır. Aynı anahtar dizesi nesnede birden fazla kez oluşursa anahtarın son değeri saklanır.
  • JSON dizisi, dondurulmamış yeni 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şse 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; zorunlu
Kodu çözülecek JSON dizesi.
default varsayılan değer unbound
Belirtilirse x kodu çözülemediğinde döndürülecek değerdir.

encode

string json.encode(x)

encode işlevi, zorunlu bir konumsal bağımsız değişken kabul eder ve bu bağımsız değişkeni büyük/küçük harf duyarlı olarak JSON'a dönüştürür:

  • Yok, Doğru ve Yanlış sırasıyla "null", "true" ve "false" olarak dönüştürülür.
  • Ne kadar büyük olursa olsun int, ondalık tam sayı olarak kodlanır. Bazı kod çözücüler çok büyük tam sayıların kodunu çözemeyebilir.
  • Sayısal değeri tam sayı olsa bile kayan nokta, ondalık nokta veya üs veya her ikisi kullanılarak kodlanır. Sonsuz olmayan bir kayan nokta değerini kodlamak hatalıdır.
  • 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ükler, anahtar sırasına göre JSON nesnesi olarak kodlanır. Anahtarlardan biri dize değilse hata oluşur.
  • Liste veya tuple, JSON dizisi olarak kodlanır.
  • Yapı benzeri bir değer, alan adı sırasına göre JSON nesnesi olarak kodlanır.
Uygulama tanımlı bir tür, kendi JSON kodlamasını tanımlayabilir. Başka bir değer kodlandığında hata oluşur.

Parametreler

Parametre Açıklama
x zorunlu

encode_indent

string json.encode_indent(x, *, prefix='', indent='\t')

encode_indent işlevi json.indent(json.encode(x), ...) ile aynıdır. Biçimlendirme parametrelerinin açıklaması için indent adresine bakın.

Parametreler

Parametre Açıklama
x zorunlu
prefix dize; varsayılan değer ''
indent dize; varsayılan değer '\t'

girinti

string json.indent(s, *, prefix='', indent='\t')

girinti işlevi, geçerli bir JSON kodlamalı dizenin girintili biçimini döndürür. Her dizi öğesi veya nesne alanı, iç içe yerleştirme derinliğine göre önek dizesiyle başlayan ve ardından girinti dizenin bir veya daha fazla kopyasının yer aldığı yeni bir satırda görünür. İşlev, zorunlu bir konumsal parametre (JSON dizesi) ve her yeni satırın ön ekini ve girinti birimini belirten iki isteğe bağlı yalnızca anahtar kelime dizesi parametresi (ön ek ve girinti) kabul eder. Giriş geçerli değilse işlev başarısız olabilir veya geçersiz bir çıkış döndürebilir.

Parametreler

Parametre Açıklama
s dize; zorunlu
prefix dize; varsayılan değer ''
indent dize; varsayılan değer '\t'