Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从通过php查询转换的json中删除双引号_Php_Json_Magento_Curl - Fatal编程技术网

如何从通过php查询转换的json中删除双引号

如何从通过php查询转换的json中删除双引号,php,json,magento,curl,Php,Json,Magento,Curl,我有一个json格式的字符串,但这给出了无效的json格式,因为我正在通过php循环查询它 {"a":"" works our ‘T’ logo into an intricately perforated pattern. logo — pattern. Height: .36"" (.9 cm) Length: .29"" (.7 cm) " " } 我需要输出为 {"a":"works our ‘T’ logo into an intricately perfo

我有一个json格式的字符串,但这给出了无效的json格式,因为我正在通过php循环查询它

{"a":"" works our ‘T’ logo into an intricately perforated pattern. logo — pattern. Height: .36"" (.9 cm) Length: .29"" (.7 cm) " " }
我需要输出为

   {"a":"works our ‘T’ logo into an intricately perforated pattern. logo †pattern. Height: .36 (.9 cm) Length: .29 (.7 cm)"}
(我认为这应该是正确的格式)

我尝试了str\u replace,但它也删除了开头和结尾的引号,trim()方法也删除了字符串中的所有双引号

<?php
$a = "" works our ‘T’ logo into an intricately perforated pattern. logo — pattern. Height: .36"" (.9 cm) Length: .29"" (.7 cm) " " ;

echo str_replace('"',"",$a);


?>
我认为这是有效的json,但仍然想知道如何通过上面代码中curl的post请求传递它,因为错误表明这是一个json无效错误


注意:一些产品的高度、尺寸和内容也包含如上所示的双引号。

在测试脚本中,您需要单引号
而不是双引号
。您使用什么来获取json字符串?它应该是
json\u encode
。json\u encode会为您处理这个问题,您使用的是什么?似乎您正在尝试发明轮子,而不是使用
json\u encode
(无论内容如何,它都会自动为您生成正确的json)。似乎你也有编码问题;确保正确处理UTF-8。json_encode已经被使用,然后我得到这个结果。i@Amadan,我尝试过使用json_encode,我想知道如果内容有双引号,我尝试过使用jsonlint.com作为解决方案,它告诉我json无效,那么需要做什么?
<?php
ini_set('max_execution_time', 0);
require __DIR__ . '/app/Mage.php';
umask(0);
Mage::app();


 $collection = Mage::getModel('catalog/product')->getCollection()->addAttributeToSelect("name");


foreach($collection as $product){

  $product_name = strip_tags($product->getName()); //get name of the product


$result = array();
foreach ($products as $product1) {
    $label = array_reduce(
        $someattrbute,
        function ($carry, $item) use ($product1) {
            return $carry . $product1->getAttributeText($item) . ' ';
        },
        ''
    );
    $result[trim($label)] = $product1->getQty();
}
 $product_sizeandquantity = json_encode($result); //result

$products_data.= "{";

    $products_data.= '"product_name"'.":".'"'.$product_name.'",';
   $products_data.= '"product_stock"'.":".'['.$product_sizeandquantity.'],';

    $products_data.= "},";

  $products_data = rtrim($products_data, ',');

  $products_data.= "]";

//echo $products_data;

    $url = 'https://www.yourdomain.com/products';
    $api_key = 'mykey'; 
    $sec_key = 'secretkey';

  $data='scapi_key='.urlencode($api_key).'&scsecret_key='.urlencode($sec_key)."&products=".urlencode($products_data);

 //echo $data;


$ch = curl_init($url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");  
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                          
     'Content-Type: application/x-www-form-urlencoded')                                                                      
    );

    $response = curl_exec($ch);
    curl_close($ch);
    $arr = json_decode($response, true);
    echo $arr;

?>
[{"product_name":"Flats", "product_stock":[{"38":"1.0000"}]}]