Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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
jquerydatatables:带有php和xml的服务器端示例,没有数据库_Php_Jquery_Json_Datatable_Datatables - Fatal编程技术网

jquerydatatables:带有php和xml的服务器端示例,没有数据库

jquerydatatables:带有php和xml的服务器端示例,没有数据库,php,jquery,json,datatable,datatables,Php,Jquery,Json,Datatable,Datatables,正在寻找一种使用PHP来解析XML json的方法来设置一个 好的,我正在从wufoo获取数据,因此我也能够提取json。如何开始使用以下数据 {"Entries":[{"EntryId":"33","Field71":"","Field41":"John","Field42":"Smith","Field55":"","Field34":"2004","Field375":"Arts, Design, Entertainment, Sports and Media","Field378":"S

正在寻找一种使用PHP来解析XML json的方法来设置一个

好的,我正在从wufoo获取数据,因此我也能够提取json。如何开始使用以下数据

{"Entries":[{"EntryId":"33","Field71":"","Field41":"John","Field42":"Smith","Field55":"","Field34":"2004","Field375":"Arts, Design, Entertainment, Sports and Media","Field378":"Select One","Field4":"Kayak Outfitter","Field3":"Kayak Tours, Inc","Field7":"123 Main Street","Field8":"","Field9":"New York","Field10":"New York","Field11":"54209","Field12":"United States","Field19":"(555)555-5555","Field23":"contact@email.com","Field46":"http:\/\/www.website.com","Field21":"","Field49":"","Field6":"May>September","Field65":"","Field69":"","Field25":"","Field37":"Its all about Self-Motivation.","Field30":"Yes","Field31":"Yes","Field172":"","Field39":"","DateCreated":"2009-01-30 05:46:02","CreatedBy":"public","DateUpdated":"2010-08-08 22:23:30","UpdatedBy":"User"}]}

正如Charles所建议的,DataTables目前只接受特定格式的JSON输入。这样做的原因是,支持抽象格式会给内部和初始化增加大量开销(即,您需要告诉它您希望它使用//articles)/book@author或者别的什么)

因此,一种选择是使用fnServerData()进行您自己的Ajax调用并获取XML,然后通过一个简单的循环将其转换为DataTables所需的JSON格式


艾伦

感谢您提供的样本数据

您需要稍微转换数据

,但它必须是数组的数组

示例数据有一个名为
Entries
的根元素,其中包含一个数组。太好了。不幸的是,该数组中的每个元素当前都是一个散列——一个键/值对

您只需要该对中的值,而不需要键

这个Javascript将把你的
条目
散列数组转换成一个普通的数组。我在这里使用JavaScript1.6语法,因为我有一个想法,不记得我们在这里讨论的是一个jQuery插件,并且在没有依赖性的情况下编写了它

var entries = /* JSON as provided in question */;
var new_array = new Array();
var el = entries['Entries'].length;
for(i = 0; i < el; i++) {
    var inner_array = new Array();
    for each (var value in entries['Entries'][i]) {
        inner_array[ inner_array.length ] = value;
    }
    new_array[ new_array.length ] = inner_array;
}
var entries=/*问题中提供的JSON*/;
var new_array=new array();
var el=条目['entries'].长度;
对于(i=0;i

然后,您可以将
new_array
传递到初始选项散列的
aaData
选项中,如上面提供的链接中所述。考虑到您似乎已经陷入了无用键名的反模式,您需要自己解决如何显示列标题的问题。

您能向我们展示一下您到目前为止拥有的内容吗?仅此页上的代码。。。所以看起来这个插件只能处理HTML表或json数据。最好的选择可能是将XML转换为HTML表或json。这就是你陷入困境的地方吗?好吧,我提供了一个json数据的示例。。。你能给我一个如何开始的例子吗?json数据现在在上面的问题中。我如何开始?