Minecraft wiki entry for Creating_a_resource_pack, associated text: The above code only applies to this example, which adds a new damage sound. If you are changing a different sound event, replace entity.player.hurt with the sound event listed in the vanilla sounds.json file.
You can find out the id used by Minecraft for each sound folder. By using /playsound in-game, you can determine this id. In this case, using /playsound minecraft:entity.player.hurt master @s will confirm that the player's hurt sound is indeed classified as entity.player.hurt.
Make sure the name fields are in lowercase characters only. The names of your files should be in lowercase as well. Otherwise, the resource pack may fail to use your new sounds.
The subtitle field dictates the text that will display when the sound is played. It can either be a string of text, or can use a field defined in a lang file.[needs testing]
In addition to these fields displayed, you may add more additional fields to the sounds.json file to specify more parameters such as volume and pitch. A detailed list of additional sounds.json fields can be found here.
Correct .json formatting is required! Any missing bracket, comma, etc. will result in the resource pack failing to work properly.