2016-05-10 4 views
1

Ich habe eine Website mit einer Front-End-Ansicht für nicht registrierte Benutzer und dann eine Portalansicht für registrierte Benutzer.Verwenden von JSON in ColdFusion-Anwendung

Ich versuche, die Produktnavigation zu überarbeiten, will es leicht wartbar machen für das Hinzufügen/Entfernen von Links, die ich im JSON-Format haben möchte.

Ich benutze Mura CMS mit ColdFusion.

Wahrscheinlich eine ziemlich einfache Sache, die ich versuche zu tun, aber kann keine Beispiele online finden.

Ich habe meine JSON-Daten wie folgt:

{ 
    "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" 
       } 
      ] 
     } 
    ] 
} 

Wie man sehen kann ich den Kategorienamen, die ich verwende, den ‚Digitalen Aufkleber‘ und ‚Litho-Aufkleber‘ zu bestimmen. Ich werde dann die Daten durchlaufen, um die verschiedenen Produktnamen herauszuziehen, und davon abhängig, ob der Portalbenutzer oder der öffentliche Benutzer die Daten zum Einfügen in die URL übernehmen wird.

Um zu beginnen, muss ich nur wissen, wie man dies in meine ColdFusion-Anwendung einbinden kann. Noch kein massiver ColdFusion Guru, mehr in meinen JavaScript-Sprachen, daher würde jede Hilfe hier sehr geschätzt werden.

Von dort sollte ich gut gehen.

Nur für den Fall, dass das etwas vage ist, wie HTML-Dokumente verknüpfen das Stylesheet mit einem Tag - wie verknüpfen Sie den JSON mit dem ColdFusion-Dokument? Ist es wie ein?

+0

ColdFusion hat 'serialiseJSON (data)' und 'deserializeJSON (json)', die zwischen JSON- und nativen CF-Datentypen konvertieren. https://cfdocs.org/deserializejson –

+0

Ich werde das deserializeJSON (json) verwenden. Angenommen, meine JSON-Datei heißt productInfo.json und befindet sich am selben Speicherort wie meine Coldfusion-Datei. Wie rufe ich die JSON-Datei auf? – Sprose

+1

Wie würden Sie eine Datei mit einer Programmiersprache in Ihren Code einfügen? Sie müssen es richtig lesen. [cffile action = "read"] (http://help.adobe.com/de_DE/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859661172e0811cbec22c24-7374.html) –

Antwort

0

Nachdem ich eine Weile herumgesucht habe, fand ich ein gutes Beispiel auf der help.adobe-Website.

Diese Codezeile, die JSON-Daten zugreift und zieht sie in für den Einsatz

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

Danach habe ich es deserialisiert mit

<cfset cfData=DeserializeJSON(theData)> 

Dann zu testen Ich hatte wieder alles richtig kommen ich ein gebrauchtes cfdump

<cfdump var="#theData#"> 

Ich wollte nur bestimmte Daten ausspucken, also habe ich einen cfloop gemacht Schleife durch das Datenfeld

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

Dies ausgedruckt "Digital Stickers" und "Litho Stickers" wie erwartet.

Meine Ressourcen waren Adobe Help - getting and deserializing the JSON und Experts Exchange - Loop over deserialized JSON.

Verwandte Themen