Bagaimana cara membuat komentar di JSON?

pemrograman


Saya membuat kebijakan khusus (belajar untuk sertifikasi) dan mencoba membuat komentar dalam blok kode JSON.

Bantuan apa pun akan dihargai. Terima kasih!

Inilah yang saya coba setelah melakukan penelitian, karena sangat sedikit mengenai ERROR AWS yang dilontarkan terkait komentar.

1. Ini adalah blok kode yang akan digunakan sebagai contoh dari AWS:
————————————————— ———–

{
   "Version": "2012-10-17",
   "Statement": [
   {
      "Effect": "Allow",
      "Action": "support:*",
      "Resource": "*"
   },
   {
       "Effect": "Deny",
       "Action": "support:ResolveCase",
       "Resource": "*"
    }]
}

2. Ini adalah kode yang dimodifikasi dengan komentar JSON (yang menimbulkan ERROR):
————————————————— ———————-

{
    "__comment1__": "Custom policy to specify what actions to allow or deny.",
    "__comment2__": "The following policy statement allows an IAM user to perform",
    "__comment3__": "all actions in AWS Support except resolve a case.",
    "Version": "2012-10-17",
   "Statement": [
   {
      "Effect": "Allow",
      "Action": "support:*",
      "Resource": "*"
   },
   {
       "Effect": "Deny",
       "Action": "support:ResolveCase",
       "Resource": "*"
    }]
}

ERROR AWS yang dilontarkan adalah sebagai berikut:

Ln 2, Col 20Invalid Policy Element: The policy element __comment1__ is not valid.

Apa yang saya coba:

Saya telah mencoba menambahkan komentar, sesuai artikel dari FreeCodeCamp tetapi saat itulah AWS melontarkan ERROR.

Contoh Komentar JSON — Cara Mengomentari File JSON[^]

Solusi 2

JSON adalah format pertukaran data dan komentar bukan bagian dari sintaksis JSON. Parser JSON tidak akan mempertimbangkannya dan hanya akan mengurai data. Jadi, komentar tidak didukung secara resmi tetapi Anda dapat menggunakan alternatif seperti menggunakan format non-JSON yang mendukung komentar, seperti YAML, lalu mengonversinya menjadi JSON.

Namun, Anda masih dapat menggunakan komentar di file JSON sebagai elemen khusus seperti:

JSON
{
  "name": "John",
  "age": 30,
  "comments": "This is a sample comment"
}

Solusi 1

Tidak ada yang namanya komentar di JSON. Ini adalah spesifikasi pemformatan data, bukan kode.

Apakah “komentar” itu benar-benar dapat diurai atau tidak, bergantung pada implementasi parser JSON yang digunakan untuk memuat data. Jika contoh yang Anda tautkan, parser JSON dengan Python digunakan untuk memuat file. Pengurai itu tidak melihat “_comment” sebagai komentar sebenarnya. Itu dimuat hanya sebagai string lain di objek data yang dihasilkan.

Beberapa parser akan mendukung pemuatan ini, namun perlu diingat bahwa setiap parser akan memperlakukan komentar sebagai bagian dari data. Ini TIDAK akan diabaikan.

Implementasi lain memerlukan definisi kelas untuk melakukan deserialisasi data. Jika parser tidak mengabaikan data dalam file JSON yang bidangnya tidak dapat ditemukan di kelas target, Anda bisa mendapatkan kesalahan seperti yang Anda alami.

Solusi 3

Seperti disebutkan oleh orang lain di sini, ini bukan bagian dari spesifikasi. Namun, ada permintaan yang diajukan yang dapat Anda pantau untuk melihat apakah akan ada dukungan yang direncanakan: [System.Text.Json] Tambahkan kemampuan untuk membuat serialisasi Komentar pada Properti · Edisi #35251 · dotnet/runtime · GitHub[^].

Solusi 4

Mengutip:

Ln 2, Kol 20 Elemen Kebijakan Tidak Valid: Elemen kebijakan __comment1__ tidak valid.

Itu adalah kesalahan yang dihasilkan oleh layanan apa pun yang Anda panggil. Hal ini menunjukkan bahwa mereka menerapkan hal tertentu Skema JSON[^]yang berarti Anda tidak bisa begitu saja menambahkan elemen baru yang tidak diketahui ke dokumen.

Anda perlu mempelajari skema yang disediakan untuk layanan yang Anda panggil untuk melihat apakah mereka menyediakan kolom komentar. Jika tidak, Anda tidak akan dapat menyertakan komentar di payload JSON Anda.

コメント

タイトルとURLをコピーしました