Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7821603
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 2, 20262026-06-02T07:42:02+00:00 2026-06-02T07:42:02+00:00

Can anyone suggest a JSON parser that allows any kind of comments, with PHP

  • 0

Can anyone suggest a JSON parser that allows any kind of comments, with PHP bindings – need the comments badly for config files but json_decode doesn’t support them.

(I am aware of: 1. other format such as YAML, 2. comments are not part of the standard)

Update:

Why don’t we use:

  • YAML: Benchmarks show it’s slower – and we might want to send the data over the wire – not sure if YAML is best for that.

  • XML: too verbose – simple human editing is a requirement. And no need for the extended features of XML.

  • INI: there is hierarchy and nesting of variable depth in the data. And we need a ubiquitous format as the data might be distributed with apps or work with apps in other languages.

  • Pre-processing: data can be contributed and shared by users, tough to impose a requirement to pre-process before adding data to an app.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-02T07:42:03+00:00Added an answer on June 2, 2026 at 7:42 am

    YAML

    If you need portability and don’t want any pre-processing or non-standard syntax, then YAML is probably the way to go. Though, beware of the dangers and caveats of YAML.

    Most, if not all, of JSON is compatible with YAML (YAML is a superset of JSON), and it supports comments. So the initial switch is easy.

    JSON with comments

    I recently needed to migrate from INI files in PHP to something that has support for integers and booleans, but still supported comments as well.

    JSON seemed like a good format, except for supporting comments. If you want to make this work, you don’t need a whole custom JSON parser. It can be made to work with simple wrapper that strips the comments uses the native json_decode after that. (This works for sane content that trusted people author. If you allow crazy inputs there is probably a way to break this.)

    Code from github.com/countervandalism/stillalive, with the regex from @makaveli_lcf:

    class JsonUtil {
        /**
         * From https://stackoverflow.com/a/10252511/319266
         * @return array|false
         */
        public static function load( $filename ) {
            $contents = @file_get_contents( $filename );
            if ( $contents === false ) {
                return false;
            }
            return json_decode( self::stripComments( $contents ), true );
        }
        /**
         * From https://stackoverflow.com/a/10252511/319266
         * @param string $str
         * @return string
         */
        protected static function stripComments( $str ) {
            return preg_replace( '![ \t]*//.*[ \t]*[\r\n]!', '', $str );
        }
    }
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Can anyone suggest any good cURL based PHP browser / spider / crawler /
Can anyone suggest a way to modify JSONParser's getQuestionJSONFromUrl() method so that it stores
Can anyone suggest a good source control system that interfaces with VB2005 Express? As
Can anyone suggest a good implementation of a generic collection class that implements the
Can anyone suggest a pattern that can be used for writing a JavaScript API
Can anyone suggest a decent free performance/load testing tool that runs on Windows. I
Can anyone suggest me a helpful programming language which can be used to create
Can anyone suggest some good browser add-on tools/extensions to help with development? I have
Can anyone suggest a way of getting version information into a Web Service? (VB.NET)
Can anyone suggest which of the Redmine or Tracd would be a better option

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.