Php json_解码后丢失约22个字符

Php json_解码后丢失约22个字符,php,json,Php,Json,我正在尝试用php解码json文件 function ReturnJson(){ $json_data = json_decode(file_get_contents('data.json'), true); for ($i = 0, $len = count($json_data); $i< $len; ++$i){ $json_data[$i]['num'] = (string) ($i +1); } print_r($json_da

我正在尝试用php解码json文件

function ReturnJson(){
    $json_data =  json_decode(file_get_contents('data.json'), true);
    for ($i = 0, $len = count($json_data); $i< $len; ++$i){

        $json_data[$i]['num'] = (string) ($i +1);
    }
    print_r($json_data);
    return $json_data;   
   }
结果是:

 {"control":null,"submitter":{"deviceId":"1","sessionId":"1"},"variables":[{"scope":"SESSION","value":"iPhone OS","name":"osName"},{"scope":"SESSION","value":"x86_64","name":"hardwareType"},{"scope":"SESSION","value":"6.0","name":"osVersion"},{"scope":"EVENT","value":"51115abd1e0422c533000002","name":"variant"}],"label":null,"category":null,"location":"ADSettingsViewController","timestamp":"2013-02-25T16:22:57Z","action":null,"type":"PAGEVIEW","versionNumber":"1.0","value":0,"submitted":0,"appId":"50fdc396b9efd172b8000065","controlEvent":null}{"control":null,"submitter":{"deviceId":"1","sessionId":"1"},"variables":[{"scope":"SESSION","value":"iPhone OS","name":"osName"},{"scope":"SESSION","value":"x86_64","name":"hardwareType"},{"scope":"SESSION","value":"6.0","name":"osVersion"},{"scope":"EVENT","value":"51115abd1e0422c533000002","name":"variant"}],"label":null,"category":null,"location":"ADProductViewController","timestamp":"2013-02-25T16:22:57Z","action":null,"type":"PAGEVIEW","versionNumber":"1.0","value":0,"submitted":0,"appId":"50fdc396b9efd172b8000065","controlEvent":null}{"control":"UIRoundedRectButton","submitter":{"deviceId":"1","sessionId":"1"},"variables":[{"scope":"SESSION","value":"iPhone OS","name":"osName"},{"scope":"SESSION","value":"x86_64","name":"hardwareType"},{"scope":"SESSION","value":"6.0","name":"osVersion"},{"scope":"EVENT","value":"51115abd1e0422c533000002","name":"variant"}],"label":"Checkout Now","category":"ADProductViewController","location":null,"timestamp":"2013-02-25T16:22:57Z","action":"checkoutNowTapped:","type":"EVENT","versionNumber":"1.0","value":0,"submitted":0,"appId":"50fdc396b9efd172b8000065","controlEvent":"UIControlEventTouchUpInside"}

如果看不到您的数据,很难判断,但可能的原因是索引不是连续的(
0,2,5,6
,而不是
0,1,2,3

如果不确定数据包含什么,最好使用
foreach
在数组上循环:

foreach ($json_data as $key => $value) 
{
  ...
}

你能提供一个不工作输入数据的例子吗?
print\r($json\u data)在循环之前。很可能您正在覆盖循环中的数据。已发布!我确实打印了r($json_数据);同样的问题,我可以告诉开始丢失。所以我意识到,它是扔掉逗号时编码,所以当我解码的新文件,这对夫妇的字符不在那里…所以是的,这确实有帮助,但是,问题是我的foreach之一是删除逗号和文件的开头,出于某种原因
foreach ($json_data as $key => $value) 
{
  ...
}