но не когда я запускаю его против JSON как есть?

роблема кажется специфичной для microsofttranslator.com поэтому, пожалуйста ... любые ответы, если вы можете проверить это ...

Используя следующий URL для перевода:http://api.microsofttranslator.com/V2/Ajax.svc/TranslateArray Я посылаю через cURL несколько фантастических аргументов и получаю следующий результат:

 [
      {
           "From":"en",
           "OriginalTextSentenceLengths":[13],
           "TranslatedText":"我是最好的",
           "TranslatedTextSentenceLengths":[5]
      },
      {
           "From":"en",
           "OriginalTextSentenceLengths":[16],
           "TranslatedText":"你是最好的",
           "TranslatedTextSentenceLengths":[5]
      }
 ]

Когда я используюjson_decode($output, true); на выходе из cURL json_decode выдает ошибку о том, что синтаксис не подходит в возвращаемомJSON:

 json_last_error() == JSON_ERROR_SYNTAX

Заголовки возвращаются с JSON:

Заголовки ответа

 Cache-Control:no-cache
 Content-Length:244
 Content-Type:application/x-javascript; charset=utf-8
 Date:Sat, 06 Aug 2011 13:35:08 GMT
 Expires:-1
 Pragma:no-cache
 X-MS-Trans-Info:s=63644

Сырье:

 [{"From":"en","OriginalTextSentenceLengths":[13],"TranslatedText":"我是最好的","TranslatedTextSentenceLengths":[5]},{"From":"en","OriginalTextSentenceLengths":[16],"TranslatedText":"你是最好的","TranslatedTextSentenceLengths":[5]}]

код cURL:

    $texts = array("i am the best" => 0, "you are the best" => 0);
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $data = array(
        'appId' => $bing_appId,
        'from' => 'en',
        'to' => 'zh-CHS',
        'texts' => json_encode(array_keys($texts))
    );
    curl_setopt($ch, CURLOPT_URL, $bingArrayUrl . '?' . http_build_query($data)); 
    $output = curl_exec($ch); 

Ответы на вопрос(2)

Ваш ответ на вопрос