Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:114697 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 96253 invoked from network); 2 Jun 2021 21:50:10 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 2 Jun 2021 21:50:10 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 35E591804AE for ; Wed, 2 Jun 2021 15:03:32 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00,BODY_8BITS, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 X-Spam-Virus: No X-Envelope-From: Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Wed, 2 Jun 2021 15:03:31 -0700 (PDT) Received: by mail-wm1-f43.google.com with SMTP id u5-20020a7bc0450000b02901480e40338bso1920224wmc.1 for ; Wed, 02 Jun 2021 15:03:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=to:from:subject:message-id:date:user-agent:mime-version :content-transfer-encoding:content-language; bh=1EddIiI3MbQ+Tc6gX71DKGKToQ0ovBi6SvkIkPWBiqo=; b=Uh8FA9iSHYlqihwzMlGn8W+PQ0Tbk/3FQmHUec21T6tXmV7dbYCl/XdbBkQHO/yBKU ptvSH+CDllN8yhV1yV6itHCsym1Ezzm9OY2b1wqXFh1Yqi6gDfLLwwIITIFhrqOjFLBP ZOlzGjREfHs3a9n1or1zw0cROcwp+sk7EH6/dWmb9+HCaCj614IZFineWtnMIh9t8oF1 q++e+0mfo1/tm5iKk7xjeMEHebyac7xLYfkMvNHHY+dBIkeAjABtXd+PYwFZd/MvB36g hqaSMx4u34QA9cgPXDdy1IUugfszumjCBFoMYSZZjzrg6c63lR7tuPn7ItvAsaxcTKtT aFrw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:from:subject:message-id:date:user-agent :mime-version:content-transfer-encoding:content-language; bh=1EddIiI3MbQ+Tc6gX71DKGKToQ0ovBi6SvkIkPWBiqo=; b=S3fbgKHM/t2KkVN5JpqdSlMrYtV3o7EeI7PEzQJweDpxplkwIIJVPoPjXyvc7N7kZ8 0SaPx7pfTSM2XFC7sPcMQyzbeE6ypGwlfvHHB+Lv5/eLTENVRUo/RA6Yvpn5bowFpex/ UnhoyfwfYENkqwwzk8fkNAn/DNELkPRhsjxIcmeoVFA7QlxoL8jRMyU3dx50KAQCujw3 lK74LA0h4viGNRSgBstn1pCqOUQeJrHEv2YkqR3FDj+4nHhuLWvmVMSHJOn9qXTVfOFz 7knavn8ozoncSW0FvYvG8itE+uh1h9vKX3YihbVpPCTSxJhZu/1tKyXaMAGxhyJvIxXh chfA== X-Gm-Message-State: AOAM531TMMPQKsDilQ7l241/mpb0qclXINKRSfZjnl1sy4uLQlWhr6Tk JyajKW2n2ValYQv9+wdqeJuQ0e3bqgQD+g== X-Google-Smtp-Source: ABdhPJwLJ4MkHTzZjavs/MJEsNJEkTHJEAtoQSWj5NcfYXGHi+fd/agsO52DYDpRfIhLUZJ1GIqv9A== X-Received: by 2002:a05:600c:2109:: with SMTP id u9mr7181254wml.7.1622671410551; Wed, 02 Jun 2021 15:03:30 -0700 (PDT) Received: from [192.168.2.117] (86-84-29-36.fixed.kpn.net. [86.84.29.36]) by smtp.gmail.com with ESMTPSA id a15sm1420954wrs.63.2021.06.02.15.03.30 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 02 Jun 2021 15:03:30 -0700 (PDT) To: internals@lists.php.net Message-ID: Date: Thu, 3 Jun 2021 00:03:29 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.10.2 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: nl Subject: json_encode indent parameter From: tdegroot96@gmail.com (Timon de Groot) It's not possible to tell json_encode what indentation level should be used when using the JSON_PRETTY_PRINT option (2, 4, 8, etc). When generating JSON files which can be used/read/edited by users, indentation starts to become a relevant topic. - JavaScript has a function called JSON.stringify wich accepts the optional 'space' parameter   - See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify - Python has a function called json.dump which accepts the optional 'indent' parameter   (which also controls pretty printing)   - See https://docs.python.org/3/library/json.html#basic-usage I would like to create an RFC draft to implement an 'indent' parameter. Before I start a draft, I need to know if this is a good idea, so I start with a few questions. 1. What do you think of adding an 'indent' parameter? 2. How would that parameter work when the JSON_PRETTY_PRINT option is not passed? 3. What do you think of adding json_encode options instead, like       JSON_PRETTY_PRINT_INDENT_2 and JSON_PRETTY_PRINT_INDENT_4? Looking forward to you replies and feedback! -- Kind regards, Timon de Groot