Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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
Javascript 读取本地Json PHPUnit日志文件JQuery_Javascript_Jquery_Json_Phpunit - Fatal编程技术网

Javascript 读取本地Json PHPUnit日志文件JQuery

Javascript 读取本地Json PHPUnit日志文件JQuery,javascript,jquery,json,phpunit,Javascript,Jquery,Json,Phpunit,我一直在尝试使用jquery解析phpunit json日志,但它返回错误 我使用以下代码来解析 <html> <head> <title>PHPUnit Report</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script src="./jquery-1.6.2.min.js"&

我一直在尝试使用jquery解析phpunit json日志,但它返回错误

我使用以下代码来解析

 <html>
    <head>
     <title>PHPUnit Report</title>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     <script src="./jquery-1.6.2.min.js"></script>
  </head>
  <body>
     <script type="text/javascript">
        var json = $.getJSON('logfile.json', function(data){
            alert(data);
        }).success(function() { alert("second success"); })
        .error(function() { alert("error"); });
     </script>
   </body>
 </html>

PHPUnit报告
var json=$.getJSON('logfile.json',函数(数据){
警报(数据);
}).success(函数(){alert(“second success”);})
.error(函数(){alert(“error”);});
这是json日志文件

 {"event":"suiteStart","suite":"","tests":22}{"event":"suiteStart","suite":"Application_Model_CarrinhoTest","tests":4}{"event":"testStart","suite":"Application_Model_CarrinhoTest","test":"Application_Model_CarrinhoTest::testCriacaoObjeto"}{"event":"test","suite":"Application_Model_CarrinhoTest","test":"Application_Model_CarrinhoTest::testCriacaoObjeto","status":"pass","time":0.013954162597656,"trace":[],"message":""}{"event":"testStart","suite":"Application_Model_CarrinhoTest","test":"Application_Model_CarrinhoTest::testAdicionarProduto"}{"event":"test","suite":"Application_Model_CarrinhoTest","test":"Application_Model_CarrinhoTest::testAdicionarProduto","status":"pass","time":0.015092134475708,"trace":[],"message":""}{"event":"testStart","suite":"Application_Model_CarrinhoTest","test":"Application_Model_CarrinhoTest::testRemoverProduto"}{"event":"test","suite":"Application_Model_CarrinhoTest","test":"Application_Model_CarrinhoTest::testRemoverProduto","status":"pass","time":0.0048158168792725,"trace":[],"message":""}{"event":"testStart","suite":"Application_Model_CarrinhoTest","test":"Application_Model_CarrinhoTest::testLimparCarrinho"}{"event":"test","suite":"Application_Model_CarrinhoTest","test":"Application_Model_CarrinhoTest::testLimparCarrinho","status":"pass","time":0.0047218799591064,"trace":[],"message":""}{"event":"suiteStart","suite":"Application_Model_ProdutoTest","tests":3}{"event":"testStart","suite":"Application_Model_ProdutoTest","test":"Application_Model_ProdutoTest::testaCriacaoProduto"}{"event":"test","suite":"Application_Model_ProdutoTest","test":"Application_Model_ProdutoTest::testaCriacaoProduto","status":"pass","time":0.0066261291503906,"trace":[],"message":""}{"event":"testStart","suite":"Application_Model_ProdutoTest","test":"Application_Model_ProdutoTest::testaErroCriacao"}{"event":"test","suite":"Application_Model_ProdutoTest","test":"Application_Model_ProdutoTest::testaErroCriacao","status":"pass","time":0.0081219673156738,"trace":[],"message":""}{"event":"testStart","suite":"Application_Model_ProdutoTest","test":"Application_Model_ProdutoTest::testaCadastroProduto"}{"event":"test","suite":"Application_Model_ProdutoTest","test":"Application_Model_ProdutoTest::testaCadastroProduto","status":"pass","time":0.086114883422852,"trace":[],"message":""}{"event":"suiteStart","suite":"Default_CarrinhoControllerTest","tests":4}{"event":"testStart","suite":"Default_CarrinhoControllerTest","test":"Default_CarrinhoControllerTest::testIndexAction"}{"event":"test","suite":"Default_CarrinhoControllerTest","test":"Default_CarrinhoControllerTest::testIndexAction","status":"fail","time":0.18276596069336,"trace":[],"message":"Failed asserting node denoted by div#view-content p CONTAINS content \"View script for controller <b>Carrinho<\/b> and script\/action name <b>index<\/b>\""}{"event":"testStart","suite":"Default_CarrinhoControllerTest","test":"Default_CarrinhoControllerTest::testAdicionarProdutoAction"}{"event":"test","suite":"Default_CarrinhoControllerTest","test":"Default_CarrinhoControllerTest::testAdicionarProdutoAction","status":"pass","time":0.038674831390381,"trace":[],"message":""}{"event":"testStart","suite":"Default_CarrinhoControllerTest","test":"Default_CarrinhoControllerTest::testRemoverProdutoAction"}{"event":"test","suite":"Default_CarrinhoControllerTest","test":"Default_CarrinhoControllerTest::testRemoverProdutoAction","status":"pass","time":0.039582967758179,"trace":[],"message":""}{"event":"testStart","suite":"Default_CarrinhoControllerTest","test":"Default_CarrinhoControllerTest::testAlterarQuantidadeProdutoAction"}{"event":"test","suite":"Default_CarrinhoControllerTest","test":"Default_CarrinhoControllerTest::testAlterarQuantidadeProdutoAction","status":"pass","time":0.038434982299805,"trace":[],"message":""}{"event":"suiteStart","suite":"Default_CategoriaControllerTest","tests":2}{"event":"testStart","suite":"Default_CategoriaControllerTest","test":"Default_CategoriaControllerTest::testIndexAction"}{"event":"test","suite":"Default_CategoriaControllerTest","test":"Default_CategoriaControllerTest::testIndexAction","status":"fail","time":0.043931007385254,"trace":[],"message":"Failed asserting node denoted by div#view-content p CONTAINS content \"View script for controller <b>Categoria<\/b> and script\/action name <b>index<\/b>\""}{"event":"testStart","suite":"Default_CategoriaControllerTest","test":"Default_CategoriaControllerTest::testDetalheAction"}{"event":"test","suite":"Default_CategoriaControllerTest","test":"Default_CategoriaControllerTest::testDetalheAction","status":"pass","time":0.040285110473633,"trace":[],"message":""}{"event":"suiteStart","suite":"Default_IndexControllerTest","tests":1}{"event":"testStart","suite":"Default_IndexControllerTest","test":"Default_IndexControllerTest::testIndexAction"}{"event":"test","suite":"Default_IndexControllerTest","test":"Default_IndexControllerTest::testIndexAction","status":"fail","time":0.045408964157104,"trace":[],"message":"Failed asserting node denoted by div#welcome h3 CONTAINS content \"This is your project's main page\""}{"event":"suiteStart","suite":"Default_ProdutoControllerTest","tests":2}{"event":"testStart","suite":"Default_ProdutoControllerTest","test":"Default_ProdutoControllerTest::testIndexAction"}{"event":"test","suite":"Default_ProdutoControllerTest","test":"Default_ProdutoControllerTest::testIndexAction","status":"fail","time":0.04747200012207,"trace":[],"message":"Failed asserting last controller used <\"error\"> was \"Produto\""}{"event":"testStart","suite":"Default_ProdutoControllerTest","test":"Default_ProdutoControllerTest::testDetalheAction"}{"event":"test","suite":"Default_ProdutoControllerTest","test":"Default_ProdutoControllerTest::testDetalheAction","status":"fail","time":0.042054891586304,"trace":[],"message":"Failed asserting last controller used <\"error\"> was \"Produto\""}{"event":"suiteStart","suite":"Default_ProdutosControllerTest","tests":3}{"event":"testStart","suite":"Default_ProdutosControllerTest","test":"Default_ProdutosControllerTest::testIndexAction"}{"event":"test","suite":"Default_ProdutosControllerTest","test":"Default_ProdutosControllerTest::testIndexAction","status":"pass","time":0.046010971069336,"trace":[],"message":""}{"event":"testStart","suite":"Default_ProdutosControllerTest","test":"Default_ProdutosControllerTest::testBuscarAction"}{"event":"test","suite":"Default_ProdutosControllerTest","test":"Default_ProdutosControllerTest::testBuscarAction","status":"pass","time":0.043781995773315,"trace":[],"message":""}{"event":"testStart","suite":"Default_ProdutosControllerTest","test":"Default_ProdutosControllerTest::testDetalheAction"}{"event":"test","suite":"Default_ProdutosControllerTest","test":"Default_ProdutosControllerTest::testDetalheAction","status":"pass","time":0.04433798789978,"trace":[],"message":""}{"event":"suiteStart","suite":"Default_UsuarioControllerTest","tests":3}{"event":"testStart","suite":"Default_UsuarioControllerTest","test":"Default_UsuarioControllerTest::testIndexAction"}{"event":"test","suite":"Default_UsuarioControllerTest","test":"Default_UsuarioControllerTest::testIndexAction","status":"pass","time":0.048629999160767,"trace":[],"message":""}{"event":"testStart","suite":"Default_UsuarioControllerTest","test":"Default_UsuarioControllerTest::testLogarAction"}{"event":"test","suite":"Default_UsuarioControllerTest","test":"Default_UsuarioControllerTest::testLogarAction","status":"pass","time":0.046178817749023,"trace":[],"message":""}{"event":"testStart","suite":"Default_UsuarioControllerTest","test":"Default_UsuarioControllerTest::testSairAction"}{"event":"test","suite":"Default_UsuarioControllerTest","test":"Default_UsuarioControllerTest::testSairAction","status":"pass","time":0.04793381690979,"trace":[],"message":""}
{event:“suiteStart”,“suite:”tests:”22}{“event:”suiteStart”,“suite:”Application\u Model\u CarrinhoTest”,“tests:”testStart”,“suite:”Application\u Model\u CarrinhoTest”,“test:”Application\u Model\u CarrinhoTest::testcriacoobjeto“}{”event:”test”,“suite:”Application\u Model\u CarrinhoTest”,“test:”test:”test:”test:”“应用程序模型卡林霍斯特::testCriacaoObjeto”,“状态”:“通过”,“时间”:0.013954162597656,“跟踪”:[],“消息”:“}{”事件”:“测试开始”,“套件”:“应用程序模型卡林霍斯特”,“测试”:“应用程序模型卡林霍斯特::测试驱动程序”}{“事件”:“测试”,“套件”:“应用程序模型卡林霍斯特”,“测试”:”应用程序模型CarrinhoTest::testadictionarproduto”,“状态”:“通过”,“时间”:0.015092134475708,“跟踪”:[],“消息”:“}{”事件”:“测试开始”,“套件”:“应用程序模型CarrinhoTest”,“测试”:“应用程序模型CarrinhoTest::testRemoverProduto”}{”事件::“测试”,“套件”:“应用程序模型CarrinhoTest”,“测试”:应用程序模型CarrinhoTest::TestRemoveProduto”,“状态”:“通过”,“时间”:0.004815816792725,“跟踪”:[],“消息”:“}{”事件”:“测试开始”,“套件”:“应用程序模型CarrinhoTest”,“测试”:“应用程序模型CarrinhoTest::testLimparCarrinho”}{“事件”:“测试”,“套件”:“应用程序模型CarrinhoTest”,“测试”:应用程序模型CarrinhoTest::testLimparCarrinho”,“状态”:“通过”,“时间”:0.0047218799591064,“跟踪”:[],“消息”:“}{”事件”:“suiteStart”,“套件”:“应用程序模型产品测试”,“测试”:3}{“事件”:“测试开始”,“套件”:“应用程序模型产品测试”,“测试”:“应用程序模型产品测试”:“测试”}{“事件”:“测试”,“套件”:应用程序模型产品测试,“测试”:“应用程序模型产品测试::testacriacoproduto”,“状态”:“通过”,“时间”:0.0066261291503906,“跟踪”:[],“消息”:“}{”事件”:“测试开始”,“套件”:“应用程序模型产品测试”,“测试”:“应用程序模型产品测试::testarrocriaco”}{“事件”:“测试”,“套件”:“应用程序模型产品测试”,“测试”:应用程序模型产品测试::TestErrorCriaCao,“状态”:“通过”,“时间”:0.0081219673156738,“跟踪”:[],“消息”:“}{”事件”:“测试开始”,“套件”:“应用程序模型产品测试”,“测试”:“应用程序模型产品测试::TestAcadstroProduto”}{“事件”:“测试”,“套件”:“应用程序模型产品测试”,“测试”:”应用程序(模型)(产品测试):"testcadastroproduto","status":"pass","time":0.086114883422852,"trace":[],"message""""""事件"","suite"""默认"car默认的CarrinhoControllerTest,“测试”:“默认的CarrinhoControllerTest::testIndexAction”,“状态”:“失败”,“时间”:0.18276596069336,“跟踪”:[],“消息”:“失败的断言节点由div表示”#查看内容p包含内容\“控制器Carrinho的查看脚本和脚本\/action name index\”{“事件”:“testStart”,“suite”:默认CarrinhoControllerTest,test:“默认CarrinhoControllerTest::testadictionarprodutoaction”}{“事件”:“测试”,“套件”:“默认CarrinhoControllerTest::testadictionarprodutoaction”,“状态”:“通过”,“时间”:0.038674831390381,“跟踪”:[],“消息”:“}{”事件::“测试开始”,“套件”:默认CarrinhoControllerTest、test:“默认CarrinhoControllerTest::TestRemoveProdutoAction”}{“事件”:“测试”、“套件”:“默认CarrinhoControllerTest::TestRemoveProdutoAction”、“状态”:“通过”、“时间”:0.039582967758179,“跟踪”:[],“消息”:“}{”事件“:“测试开始”、“套件”:“默认CarrinhocontroleTest”test:“Default\u CarrinhoControllerTest::testAlterarQuantidadeProdutoAction”}{“事件”:“测试”、“套件”:“Default\u CarrinhoControllerTest::testaltertarquantidadeprodutoaction”,“状态”:“通过”、“时间”:0.038434982299805,“跟踪”:[],“消息”:“}{”事件“:“套件”:“Default事件“:”testStart“,”suite“:”Default\u CategoriaControllerTest“,”test“:”Default\u CategoriaControllerTest::testIndexAction“}{”事件“:”test“,”suite“:”Default\u CategoriaControllerTest::testIndexAction“,”状态“:”失败“,”时间“:0.043931007385254,”跟踪“:”消息“:”由div#view content p表示的失败断言节点包含内容\“控制器类别的视图脚本和脚本\/action name index\”{“事件”:“testStart”,“suite”:“Default_CategoriaControllerTest”,“test”:“Default_CategoriaControllerTest::testDetalheAction”}{“事件”:“test”,“suite”:“Default_CategoriaControllerTest”,“test”:”默认分类控制器测试:testDetalheAction,“状态”:“通过”,“时间”:0.040285110473633,“跟踪”:[],“消息”:“}{”事件”:“suiteStart”,“套件”:“默认索引控制器测试”,“测试”:1}{“事件”:“测试开始”,“套件”:“默认索引控制器测试”,“测试”:“默认索引控制器测试:testIndexAction”}{“事件”:“测试”,“套件”:”Default_IndexControllerTest,“test”:“Default_IndexControllerTest::testIndexAction”,“status”:“fail”,“time”:0.045408964157104,“trace”:[],“message”:“Failed asserting node”由div表示#welcome h3包含内容\“这是您项目的主页\”}{“事件”:“suiteStart”,“suite”:“Default ProdutoControllerTest”,“tests”:2}{“事件”:“testStart”,“suite”“:“Default\u ProdutoControllerTest”,“test”:“Default\u ProdutoControllerTest::testIndexAction”}{”事件“:“test”,“suite”:“Default\u ProdutoControllerTest::testIndexAction”,“status”:“fail”,“time”:0.04747200012207,“trace”:[],“message”:“断言上一个使用的控制器失败的是\“Produto\”}{”事件“:“testStart”,”
$json = file_get_contents('/log.json');
$json = '['.str_replace('}{', '},{', $json).']';
$data = json_decode($json, true);
    sed -i.bak 's/^{$/[{/g;s/^}$/}]/g;s/}{/},{/g' logfile.json