JSON在Drupal 7中提供上下文



我正在尝试连接到Drupal 7的REST web服务。数据是通过url提供的,我想把它拉到D7网站创建和填充节点。我使用提要模块来映射内容,并使用JSONPath解析器作为解析器。我还包括Feeds HTTPFetcher Append Headers模块,这样我就可以添加自定义头,以确保它是JSON被返回,而不是我之前得到的格式不好的xml。

自定义标题:

Accept|application/json
Content-Type|application/json

我有一个url,看起来像http://192.136.0.31:8080/places/getAll

在上面的基础上,我有一个Devel模块,它在我的template.php中使用下面的代码返回页面中的提要数组:

$request = drupal_http_request('http://192.136.0.31:8080/places/getAll', $options);
dpm(drupal_json_decode($request->data));

Devel返回:

... (Array, 1192 elements)
   0 (Array, 17 elements)
      Address1 (String, 19 characters ) 1-2 The Road name
      Address2 (String, 9 characters ) Shuinnad

我遇到的问题是将其放入提要并映射到相关字段。我不知道应该在上下文字段中做什么-我试过$...*, $.*, $…但运气不好。

当我点击devel输出中的Array元素时,它会显示$…[0]['Address1']这表明应该是上下文-运气不好。

快速更新-使用drupal_json_decode函数,我可以拆分数组,我需要使用php

foreach ($json as $section => $items) {
foreach ($items as $key => $value) {
    //if ($key == 'Address1') {
    echo "$section:t$keyt:&nbsp;$value<br>";
    //}
    // check whether the current item is an array!
    if(is_array($value)) {
        echo "$key is sub array:<br />";
        foreach($value as $subKey => $subValue)
            echo "$subKey:t$subValue<br />";
    }
}
}

问题仍然存在,我如何使用JSON解析器在feed中复制它?

您可能需要尝试这个模块:Feeds JSONPath Parser

查看本教程

Context:是放置JSONPath表达式的地方,该表达式表示表示数据的数组的路径。例如,在我的文件中,这将是$.albums.data.*。如果这是PHP数组,那就是

foreach ($ facebook("专辑")("数据")美元值),

  • 查看更多信息:http://glassdimly.com/blog/tech/drupal-7-feeds-extensible-parsers-jsonpath-map-json-fields/feeds-extensible-parsers#sthash.BrIutjfl.dpuf

相关内容

  • 没有找到相关文章

最新更新