DBAtlas · Veritabanı operasyon atlası

3140: ER_INVALID_JSON_TEXT: Invalid JSON text

MySQL

Ne demek?

Bir JSON sütununa ya da JSON fonksiyonuna geçerli olmayan (sözdizimi bozuk) JSON metni verildi. MySQL, değeri JSON olarak ayrıştıramadığı için işlemi reddeder.

Neden olur?

Kapanmamış tırnak/parantez, sondaki fazladan virgül, tek tırnak kullanımı, kaçış karakteri hataları ya da düz metnin JSON sütununa gönderilmesi. JSON_SET, JSON_INSERT gibi fonksiyonlara veya JSON tipli sütuna hatalı metin girildiğinde ortaya çıkar.

Nasıl çözülür?

JSON metnini geçerli sözdizimine göre düzeltin: çift tırnak kullanın, sondaki virgülleri kaldırın, kaçışları doğrulayın. Metnin geçerli olup olmadığını test edin: SELECT JSON_VALID('{...}'); (1 döndürürse geçerlidir). Uygulama katmanında JSON'u serileştirirken güvenilir bir kütüphane kullanın ve sunucuya göndermeden önce doğrulayın.

DBAtlas'ta aç →

Aynı motorda diğer kayıtlar