rfc:json_encode_indentation

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
rfc:json_encode_indentation [2021/06/03 13:57] โ€“ tdgrootrfc:json_encode_indentation [2022/05/13 07:25] โ€“ Updated the RFC to reflect changes from pull request tdgroot
Line 3: Line 3:
   * Date: 2021-06-03   * Date: 2021-06-03
   * Author: Timon de Groot, tdegroot96@gmail.com   * Author: Timon de Groot, tdegroot96@gmail.com
 +  * Implementation: https://github.com/php/php-src/pull/7093
   * Status: Draft   * Status: Draft
  
Line 9: Line 10:
  
 ===== Proposal ===== ===== Proposal =====
-Introducing a 4th parameter, called //indent//. The type of the parameter is string|int and its default value is 4.+Introducing a 4th parameter, called //indent//. The type of the parameter is int and its default value is 4.
  
-When a string is passedthat character sequence will be used for indentation, where it normally would be '    ' (4 spaces). Users passing a string must be aware that usage of invalid JSON characters in the indentation value will natually cause invalid formatted JSON data.+By defaultan indentation of 4 spaces will be applied, just like the original //json_encode// behaviour with the //JSON_PRETTY_PRINT// option
  
-When an int is passed, an indentation of N spaces will be applied.+When the //indent// parameter is passed a different value, an indentation of N spaces will be applied.
  
 <code php> <code php>
 $data = [ $data = [
     'key' => 4,     'key' => 4,
-    'other_key' => [0, 1, 2, 3]+    'other_key' => [2]
 ]; ];
  
 +echo json_encode(['behavior' => 'default'], JSON_PRETTY_PRINT) . PHP_EOL;
 echo json_encode($data, JSON_PRETTY_PRINT, 512, 2) . PHP_EOL; echo json_encode($data, JSON_PRETTY_PRINT, 512, 2) . PHP_EOL;
-echo json_encode($data, JSON_PRETTY_PRINT, 512, '๐Ÿš€๐Ÿš€') . PHP_EOL; 
  
 ?> ?>
 </code> </code>
  
-<code>+<code json>ย 
 +{ย 
 +    "behavior": "default"ย 
 +}
 { {
   "key": 4,   "key": 4,
   "other_key": [   "other_key": [
-    0,ย +    2
-    1,ย +
-    2,ย +
-    3+
   ]   ]
-} 
-{ 
-๐Ÿš€"key": 4, 
-๐Ÿš€"other_key": [ 
-๐Ÿš€๐Ÿš€0, 
-๐Ÿš€๐Ÿš€1, 
-๐Ÿš€๐Ÿš€2, 
-๐Ÿš€๐Ÿš€3 
-๐Ÿš€] 
 } }
 </code> </code>
rfc/json_encode_indentation.txt ยท Last modified: 2022/07/19 15:23 by cmb

๏ปฟ