โมดูล json เป็นโมดูล Starlark ของฟังก์ชันที่เกี่ยวข้องกับ JSON
สมาชิก
      ถอดรหัส
        unknown json.decode(x, default=unbound)
    ฟังก์ชันถอดรหัสมีพารามิเตอร์ตำแหน่งที่จำเป็น 1 รายการคือสตริง JSON
โดยจะแสดงผลค่า Starlark ที่สตริงระบุ
- ระบบจะแยกวิเคราะห์ "null","true"และ"false"เป็นNone,TrueและFalse
- ระบบจะแยกวิเคราะห์ตัวเลขเป็นจำนวนเต็ม หรือเป็นจำนวนจริงหากมีจุดทศนิยมหรือเลขชี้กำลัง แม้ว่า JSON จะไม่มีไวยากรณ์สำหรับค่าที่ไม่ใช่ค่าจำกัด แต่ค่าที่มีขนาดใหญ่มากอาจได้รับการถอดรหัสเป็นค่าอนันต์
- ระบบจะแยกวิเคราะห์ออบเจ็กต์ JSON เป็นพจนานุกรม Starlark ใหม่ที่ยังไม่ได้ตรึง หากสตริงคีย์เดียวกันเกิดขึ้นมากกว่า 1 ครั้งในออบเจ็กต์ ระบบจะเก็บค่าสุดท้ายของคีย์ไว้
- ระบบจะแยกวิเคราะห์อาร์เรย์ JSON เป็นรายการ Starlark ใหม่ที่ยังไม่ได้ตรึง
หาก 
x ไม่ใช่การเข้ารหัส JSON ที่ถูกต้องและมีการระบุพารามิเตอร์ 
default ที่ไม่บังคับ (รวมถึงระบุเป็น 
None) ฟังก์ชันนี้จะแสดงค่า 
default
หาก 
x ไม่ใช่การเข้ารหัส JSON ที่ถูกต้องและไม่ได้ระบุพารามิเตอร์ 
default ที่ไม่บังคับ 
 ฟังก์ชันนี้จะทำงานไม่สำเร็จ
          
      
พารามิเตอร์
      
        
          
          
        
        
          
            | พารามิเตอร์ | คำอธิบาย | 
        
        
                  
            | x | ต้องระบุ สตริง JSON ที่จะถอดรหัส
 | 
                  
            | default | ค่าเริ่มต้นคือ unboundหากระบุ ค่าที่จะแสดงเมื่อถอดรหัส
 xไม่ได้ | 
                
      
        เข้ารหัส
        string json.encode(x)
    ฟังก์ชันการเข้ารหัสยอมรับอาร์กิวเมนต์ตำแหน่งที่ต้องระบุ 1 รายการ ซึ่งจะแปลงเป็น JSON ตามกรณีต่างๆ ดังนี้
- ระบบจะแปลง None, True และ False เป็น "null", "true" และ "false" ตามลำดับ
- ระบบจะเข้ารหัส int เป็นจำนวนเต็มทศนิยมไม่ว่าจะใหญ่เพียงใดก็ตาม ตัวถอดรหัสบางตัวอาจถอดรหัสจำนวนเต็มที่มีขนาดใหญ่มากไม่ได้
- ระบบจะเข้ารหัสค่าทศนิยมโดยใช้จุดทศนิยมหรือเลขชี้กำลัง หรือทั้ง 2 อย่าง แม้ว่าค่าตัวเลขจะเป็นจำนวนเต็มก็ตาม การเข้ารหัสค่าทศนิยมที่ไม่ใช่ค่าจำกัดถือเป็นข้อผิดพลาด
- ค่าสตริงจะได้รับการเข้ารหัสเป็นสัญพจน์สตริง JSON ที่ระบุค่า  ระบบจะแทนที่แต่ละคู่ทดแทนที่ไม่ได้จับคู่ด้วย U+FFFD
- ระบบจะเข้ารหัส Dict เป็นออบเจ็กต์ JSON ตามลำดับคีย์  หากคีย์ใดไม่ใช่สตริง จะถือว่าเป็นข้อผิดพลาด
- ระบบจะเข้ารหัสลิสต์หรือทูเพิลเป็นอาร์เรย์ JSON
- ค่าที่คล้ายกับโครงสร้างจะได้รับการเข้ารหัสเป็นออบเจ็กต์ JSON ตามลำดับชื่อฟิลด์
ประเภทที่แอปพลิเคชันกำหนดอาจกำหนดการเข้ารหัส JSON ของตัวเอง
การเข้ารหัสค่าอื่นๆ จะทำให้เกิดข้อผิดพลาด
          
      
พารามิเตอร์
      
        
          
          
        
        
          
            | พารามิเตอร์ | คำอธิบาย | 
        
        
                  
            | x | ต้องระบุ 
 | 
                
      
        encode_indent
        string json.encode_indent(x, *, prefix='', indent='\t')
    ฟังก์ชัน encode_indent เทียบเท่ากับ 
json.indent(json.encode(x), ...) ดูคำอธิบายพารามิเตอร์การจัดรูปแบบได้ที่ 
indent
          
      พารามิเตอร์
      
        
          
          
        
        
          
            | พารามิเตอร์ | คำอธิบาย | 
        
        
                  
            | x | ต้องระบุ 
 | 
                  
            | prefix | ค่าเริ่มต้นคือ ''
 | 
                  
            | indent | ค่าเริ่มต้นคือ '\t'
 | 
                
      
        เยื้อง
        string json.indent(s, *, prefix='', indent='\t')
    ฟังก์ชัน indent จะแสดงรูปแบบที่เยื้องของสตริงที่เข้ารหัส JSON ที่ถูกต้อง
องค์ประกอบอาร์เรย์หรือฟิลด์ออบเจ็กต์แต่ละรายการจะปรากฏในบรรทัดใหม่ โดยเริ่มต้นด้วยสตริงคำนำหน้า ตามด้วยสำเนาของสตริงการเยื้องอย่างน้อย 1 รายการตามระดับการซ้อน
ฟังก์ชันนี้ยอมรับพารามิเตอร์ตำแหน่งที่จำเป็น 1 รายการ ซึ่งคือสตริง JSON
 และพารามิเตอร์สตริงแบบคีย์เวิร์ดเท่านั้น 2 รายการที่ไม่บังคับ ได้แก่ prefix และ indent
 ซึ่งระบุคำนำหน้าของแต่ละบรรทัดใหม่และหน่วยของการเยื้อง
หากอินพุตไม่ถูกต้อง ฟังก์ชันอาจล้มเหลวหรือแสดงผลลัพธ์ที่ไม่ถูกต้อง
          
      
พารามิเตอร์
      
        
          
          
        
        
          
            | พารามิเตอร์ | คำอธิบาย | 
        
        
                  
            | s | ต้องระบุ 
 | 
                  
            | prefix | ค่าเริ่มต้นคือ ''
 | 
                  
            | indent | ค่าเริ่มต้นคือ '\t'
 |