我有一个JS文字对象字符串,例如
{name:{first:"George",middle:"William"},surname:"Washington"}
,我需要将其转换为Json。我该如何使用PHP实现?{name:{first:"George",middle:"William"},surname:"Washington"}
,我需要将其转换为Json。我该如何使用PHP实现?composer require ovidigital/js-object-to-json
2) 在你的项目中使用它
$json = \OviDigital\JsObjectToJson\JsConverter::convertToJson($javascriptObjectString);
JS:
// Pretend we're POSTing this
var foo = {foo:{first:"George",middle:"William"}};
PHP:
$foo = $_POST['foo'];
$foo = json_decode( stripslashes( $foo ) );
echo $foo->first;
恰当的给予功劳: https://www.youtube.com/watch?v=pORFYsgOXog
如果您足够幸运,知道键在到达脚本时将是什么,而且您知道它们不会出现在值中,您可以使用str_replace()
将双引号添加到键:
$notQuiteJson = '{name:{first:"George",middle:"William"},surname:"Washington"}';
$initialJson = array('name:','first:','middle:','surname:');
$replacedJson = array('"name":','"first":','"middle":','"surname":');
$convertedDataString = str_replace($initialJson, $replacedJson, $notQuiteJson);
$actualJson = json_decode($convertedDataString);
虽然不完美,但希望这能帮助到某些人。
$var = json_decode($_POST['names'], true)
。然后你可以像这样使用它:echo $var['surname']
来输出“Washington”。