this post was submitted on 01 Feb 2024
43 points (86.4% liked)

Programming

17669 readers
174 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] spartanatreyu 9 points 10 months ago (2 children)

Where do you put your comments in JSON files?

[–] [email protected] 4 points 10 months ago* (last edited 10 months ago) (1 children)

I've seen them included as part of the data.

"//": "Comment goes here",

Example here.

[–] spartanatreyu 3 points 10 months ago (2 children)

That doesn't really work when you need two comments at the same level, since they'd both have the same key

[–] [email protected] 3 points 10 months ago (1 children)

write json with comments. Use a yaml parser.

[–] spartanatreyu 3 points 10 months ago (2 children)

If you're reaching for yaml, why not use toml?

[–] [email protected] 1 points 10 months ago (1 children)

because of the cut and paste problem. It works in json.

[–] spartanatreyu 1 points 10 months ago (1 children)
[–] [email protected] 1 points 10 months ago (1 children)

cut out a random piece of your document. is it a partial or a complete document?

paste it somewhere else in the document. you have to fix the indentation because if not then the document won't work or mean something completely different

[–] spartanatreyu 1 points 10 months ago (1 children)

you have to fix the indentation because if not then the document won’t work or mean something completely different

Whitespace has no meaning in json. You can indent however you want, or not at all.

I'm assuming you're running into issues because you're writing json in a yaml file which does care about indentation, and you're only writing json in yaml to get access to comments.

In which case it circles back around to: why not use toml? Whitespace formatting doesn't corrupt the file, and it has built in comments.

[–] [email protected] 1 points 10 months ago

i do use json instead of yaml precisely for the reasons you mentioned. That was my original point in the first place that json does not have these problems. something must have been lost in transmission

[–] towerful 1 points 10 months ago

Every time i try to use toml, i end up going back to json

[–] [email protected] 2 points 10 months ago

It still works since multiple identical keys are still valid json. Although that in itself isn't fantastic imo.

[–] brettvitaz 1 points 10 months ago (1 children)

For settings files I always have an example file with sensible values filled in and along with descriptive keys that serves as reasonable documentation. If something is truly unknowable, I’ve probably done something wrong.

[–] spartanatreyu 2 points 10 months ago (1 children)

How would you mark a flag in your json settings file as deprecated?

[–] brettvitaz 1 points 10 months ago

In my opinion, the settings file isn’t where this information should be presented. I would put these notes in the release log and readme and example settings file. I have also written this information to logging during startup so a user knows what to do, or I write a migration that does the change automatically if that’s possible.

This is only my opinion and you can use the comment method described like “//“: “Deprecated” if desired.