For anyone else who stumbles on this page wondering how to give strings in JSON a different colour…
Find your current theme file. I was using the monokai soda theme, which I found in my user packages. Open up your thTheme file. I then found the following XML (simply searched for “json”)
<dict>
<key>name</key>
<string>JSON String</string>
<key>scope</key>
<string>meta.structure.dictionary.json string.quoted.double.json</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#CFCFC2</string>
</dict>
</dict>
And then I altered it to be the following. Note I’ve commented out the previous value and added the standard sublime yellow:
<dict>
<key>name</key>
<string>JSON String</string>
<key>scope</key>
<string>meta.structure.dictionary.json string.quoted.double.json</string>
<key>settings</key>
<dict>
<key>foreground</key>
<!-- <string>#CFCFC2</string> -->
<string>#E6DB74</string>
</dict>
</dict>
Save your theme and all should then work
I even think you might be able to edit the json tmLanguage file to capture string keys differently to string values - but that’s for another day!