Files

51 lines
1.7 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# QRStringJSON
[Class `QRStringJSON`](https://github.com/chillerlan/php-qrcode/blob/main/src/Output/QRStringJSON.php):
[JSON](https://developer.mozilla.org/en-US/docs/Glossary/JSON) output.
## Example
```php
$options = new QROptions;
$options->outputType = QROutputInterface::STRING_JSON;
$options->jsonFlags = JSON_THROW_ON_ERROR|JSON_UNESCAPED_SLASHES;
header('Content-type: application/json');
$data = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ';
echo new QRCode($options)->render($data); // -> JSON string
```
The associated [JSON schema](https://json-schema.org/specification) can be found over at GitHub: [`qrcode.schema.json`](https://github.com/chillerlan/php-qrcode/blob/main/src/Output/qrcode.schema.json)
## Previous functionality
The previous versions of `php-qrcode` (v5 and earlier) just dumped an array representation of the internal matrix,
which is equivalent to the following:
```php
$matrix = new QRCode($options)->getQRMatrix(); // -> QRMatrix instance
// retrieve the internal matrix as an array of booleans
$json = json_encode($matrix->getMatrix(true), $jsonFlags);
```
## Additional methods
| method | return | description |
|---------------------------------------------------|---------------|-------------------------------------------|
| (protected) `row(int $y, array $row)` | `array\|null` | creates a DOM element for a matrix row |
| (protected) `module(int $x, int $y, int $M_TYPE)` | `array\|null` | creates a DOM element for a single module |
## Options that affect this class
| property | type |
|--------------|-------|
| `$jsonFlags` | `int` |