2016-05-10 2 views
1

У меня есть веб-сайт, который имеет вид спереди для незарегистрированных пользователей, а затем просмотр портала для зарегистрированных пользователей.Использование JSON в приложении ColdFusion

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

Я использую Mura CMS с ColdFusion.

Возможно, довольно простая вещь, которую я пытаюсь сделать, но не могу найти примеры в Интернете.

У меня есть данные в формате JSON, как показано ниже:

{ 
    "category" : [ 
     { 
      "name" : "digital stickers", 
      "products" : [ 
       { 
        "name" : "round digital stickers", 
        "urlPublic" : "index.cfm/digital-stickers/round-stickers", 
        "urlPortal" : "tab=round digital stickers" 
       }, 
       { 
        "name" : "square digital stickers", 
        "urlPublic" : "index.cfm/digital-stickers/square-stickers", 
        "urlPortal" : "tab=square digital stickers" 
       } 
      ] 
     }, 
     { 
      "name" : "Litho stickers", 
      "products" : [ 
       { 
        "name" : "round litho stickers", 
        "urlPublic" : "index.cfm/litho-stickers/round-stickers", 
        "urlPortal" : "tab=round litho stickers" 
       }, 
       { 
        "name" : "square litho stickers", 
        "urlPublic" : "index.cfm/litho-stickers/square-stickers", 
        "urlPortal" : "tab=square litho stickers" 
       } 
      ] 
     } 
    ] 
} 

Как вы можете видеть, у меня есть название категории, которые я буду использовать для определения «Цифровые наклейки» и «Лихо Наклейки». Затем я прокручу данные, чтобы вытащить разные названия продуктов и в зависимости от того, будет ли пользователь портала или публичный пользователь вставлять данные в URL.

Для начала мне просто нужно знать, как связать это с моим приложением ColdFusion. Не массивный Guru ColdFusion еще, больше на мои языки JavaScript, поэтому любая помощь здесь была бы высоко оценена.

Оттуда мне должно быть хорошо идти.

На всякий случай это немного расплывчато, например, html-документы связывают таблицу стилей с тегом - как вы связываете JSON с документом ColdFusion? Это похоже на включение?

+0

ColdFusion имеет 'serializeJSON (data)' и 'deserializeJSON (json)', который будет конвертировать между JSON и родными типами данных CF. https://cfdocs.org/deserializejson –

+0

Я буду использовать deserializeJSON (json). Скажем, мой файл JSON называется productInfo.json и находится в том же файле, что и мой файл coldfusion, - как мне позвонить в json-файл? – Sprose

+1

Как бы вы включили файл в свой код с использованием любого языка программирования? Вы должны прочитать это правильно. [cffile action = "read"] (http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-7374.html) –

ответ

0

После поиска на некоторое время я нашел хороший пример на веб-сайте help.adobe.

Эта строка кода получает доступ к данным JSON и тянет его для использования

<!--- Get the JSON Feed ---> 
<cfhttp url="http://localhost:8500/project/JSON_FILE.json"> 

После этого я Десериализованный его

<cfset cfData=DeserializeJSON(theData)> 

Затем, чтобы проверить у меня было все, возвращаясь правильно я использовал cfdump

<cfdump var="#theData#"> 

Я хотел выплюнуть только определенные данные, поэтому я сделал cfloop для петля через массив данных

<h2>Categories</h2> 
<cfloop array="#dataArray#" index="elem"> 
    <!--- print out value for demo purposes ---> 
    <cfoutput> 
      <h3>#elem.name#</h3> 
    </cfoutput> 
</cfloop> 

Это напечатано «Цифровые наклейки» и «Лито-наклейки», как и ожидалось.

Мои ресурсы были Adobe Help - getting and deserializing the JSON и Experts Exchange - Loop over deserialized JSON.