我正在尝试将 Composer JSON 文本插入到 MySQL 数据库的 TEXT 列中。
如果我插入以下内容
insert into server_details set composer = '"psr-4": {
"App\\": "app/"
}'
插入数据库的是什么
"psr-4": { "App\": "app/" }
注意 App 后面只有一个反斜杠。如何在不使 JSON 无效的情况下将 Composer JSON 插入 sql 数据库?
被插入的完整 JSON 是:
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": [
"framework",
"laravel"
],
"license": "MIT",
"type": "project",
"require": {
"php": "^7.3",
"barryvdh/laravel-dompdf": "^0.8.7",
"facade/ignition": "^2.10.2",
"fideloper/proxy": "^4.3.0",
"freshbitsweb/laratables": "^2.4",
"guzzlehttp/guzzle": "^7.3.0",
"ignited/laravel-omnipay": "3.3.*",
"intervention/image": "^2.5",
"ivopetkov/html5-dom-document-php": "^2.2.9",
"laravel/framework": "8.*",
"laravel/ui": "^v3.3.0",
"laravelcollective/html": "^v6.2.1",
"league/csv": "^9.7.1",
"milon/barcode": "^8.0",
"omnipay/sagepay": "3.*",
"predis/predis": "^1.1",
"shvetsgroup/laravel-email-database-log": "^8.0",
"spatie/eloquent-sortable": "^3.11.0",
"spatie/laravel-activitylog": "^3.17.0",
"spatie/laravel-newsletter": "^4.10",
"spatie/laravel-permission": "^4.2"
},
"require-dev": {
"laravel/tinker": "^2.6.1",
"barryvdh/laravel-debugbar": "^3.6.2",
"barryvdh/laravel-ide-helper": "^v2.8.2",
"filp/whoops": "^2.13",
"laminas/laminas-code": "^3.4.1",
"laracasts/generators": "^1.1.8",
"mockery/mockery": "^1.3.1",
"phpunit/phpunit": "^7.5.20",
"symfony/yaml": "^4.1"
},
"autoload": {
"classmap": [
"database/seeds",
"database/factories"
],
"psr-4": {
"App\\": "app/"
}
},
"autoload-dev": {
"psr-4": {
"Tests\\": "tests/"
}
},
"extra": {
"laravel": {
"dont-discover": [
]
}
},
"scripts": {
"post-root-package-install": [
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"@php artisan key:generate"
],
"post-autoload-dump": [
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
"@php artisan package:discover"
]
},
"config": {
"preferred-install": "dist",
"sort-packages": true,
"optimize-autoloader": true
},
"minimum-stability": "dev",
"prefer-stable": true
}
答案 0 :(得分:0)
禁用 NO_BACKSLASH_ESCAPES 模式会禁用黑色斜线。
如果 启用NO_BACKSLASH_ESCAES模式,使用“App\/”;