Очистка JSON с помощью PHPPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Очистка JSON с помощью PHP

Сообщение Anonymous »

Я провел много парсинга HTML с помощью Xpath. Но теперь мне нужно очистить JSON, и я не знаю, как это сделать. Источник, который я хочу очистить:

Код: Выделить всё

     {
"ASIN" : "B00DR4LYHY",
"FeatureName" : "price_feature_div",
"Type" : "JSON",
"Value" :
{
"content" :
{"price_feature_div":"\n\n    \n\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\n\n\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t    \n\t\t\t\t    \n\t\t\t\t    \n\t\t\t\t    \n\t\t\t\t    \n\t\t\t\t    \n\t\t\t\t        \n\t\t                \n\t\t                            \n\t\t\t\t        \n\t\t                \n\t\t\t\t        \n\n\n\n\n\n\t\n\n    Price:\n    \n        $37.60\n        \n\n\n\n        \n\n\n\n\n\n\n        \n\n        \t\n        \t\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n    \n        \n        \n        \n\n\t    \n\t\t\n\t\t\n        \n            & FREE Shipping\n        \n        \n    \n\n\n\n        \n        \n        \n        \n        \n    \n\n\n\t\t\t\t    \n\t\t\t\t    \n\t\t\t\t    \n\t\t\t\t    \n\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\n\t\t            \n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\n\n\n\n\n\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\n\t\t\t\t\n\n\n\n\n\n\n\t\t\t\n\n\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\n\n\n\n\n\n\t\t\t\n\t\t\t\n\n\t\t\n\t\n\t\n\t\n\n    \n    \n\t\n\n"}

}
}
Я получил этот код от:

Код: Выделить всё

$URL    = 'http://www.amazon.com/gp/twister/ajaxv2?sid=188-4344403-7969026&ptd=OUTERWEAR&json=1&dpxAjaxFlag=1&sCac=1&isUDPFlag=1&twisterView=glance&ee=2&pgid=apparel_display_on_website&sr=1-3&nodeID=1036592&rid=0Q05FXGQJSA20X44DJVG&parentAsin=B00DR4LUQY&enPre=1&qid=1413775191&dStr=size_name%2Ccolor_name&auiAjax=1&storeID=apparel&psc=1&asinList=B00DR4LYHY&isFlushing=2&id=B00DR4LYHY&prefetchParam=0&mType=full&dpEnvironment=softlines';
Мне нужно узнать цену (37,60 долларов США)

Код, который я использую, указан из Венката:

Код: Выделить всё

    $URL    = 'http://www.amazon.com/gp/twister/ajaxv2?sid=188-4344403-7969026&ptd=OUTERWEAR&json=1&dpxAjaxFlag=1&sCac=1&isUDPFlag=1&twisterView=glance&ee=2&pgid=apparel_display_on_website&sr=1-3&nodeID=1036592&rid=0Q05FXGQJSA20X44DJVG&parentAsin=B00DR4LUQY&enPre=1&qid=1413775191&dStr=size_name%2Ccolor_name&auiAjax=1&storeID=apparel&psc=1&asinList=B00DR4LYHY&isFlushing=2&id=B00DR4LYHY&prefetchParam=0&mType=full&dpEnvironment=softlines';

$page = file_get_contents($URL);
$decoded = json_decode($page);

$html = $decoded->Value->content->price_feature_div;

$dom = new DOMDocument();
$dom->loadHTML($html);

$xpath = new DOMXPath($dom);

//frem dom method
$elements = $dom->getElementById("priceblock_ourprice")->item(0);

//OR use extract it from xpath like below line
$priceNode = $xpath->query("//*[@id='priceblock_ourprice']");

if (!is_null($elements)) {
//$priceNode = $elements->item(0);
$ourPrice = $priceNode;
echo $ourPrice;
}
Я думаю, лучше всего было бы использовать REGEX, но как должно выглядеть выражение?

Подробнее здесь: https://stackoverflow.com/questions/264 ... n-with-php
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»