2016-04-25 5 views
0

Gibt es so, dass ich das Dateiformat der Dateien in der bereitgestellten Struktur als JSON ausgeben kann, so dass der folgende JSON wie folgt angezeigt wird. Ich habe bereits versucht, dies als Referenz ohne Glück mit http://www.aspjson.com/ einzurichten. Kann mir jemand zeigen, wie ich dieses Problem lösen muss, um die angegebene JSON-Struktur zu erhalten?Wie kann ich eine Reihe von Dateien und Verzeichnissen mit Classic ASP in JSON ausgeben?

=== Dateistruktur: ===

-docs
--fsum
--- 2007
---- Fakultät
----- file1.txt
- --2008
---- faculty2
----- file1.txt
----- file2.txt
---- faculty3
----- file1.t xt
----- file2.txt

=== Beispiel JSON: ===

[ 
{year: '2007', report: 'faculty', files: ['file1.txt', 'file2.txt'] }, 
{year: '2007', report:'faculty2', files: ['file1.txt', 'file2.txt']}, 
{year: 2008, report:'faculty3', files: ['file1.text', 'file2.txt'] } 
] 

=== klassischen ASP-Code ===

<% 
dim page, fs, fo, x, c, b, a 
page = Server.MapPath("\") 
set fs=Server.CreateObject("Scripting.FileSystemObject") 
set fo=fs.GetFolder(page & "\docs\fsum\") 


' Gets all of the files inside of the docs folder' 

for each x in fo.SubFolders 
a = a + 1 
newFolder = fo & "\" & x.Name 
set fob = fs.Getfolder(newFolder) 
for each y in fob.SubFolders 
b = b + 1 
    newFiles = fo & "\" & x.Name & "\" & y.Name 
    set foc = fs.GetFolder(newFiles) 
    for each z in foc.files 'get all of the files inside 
     c = c + 1 
    next 
next 
next 
For counter = 1 to c 
    for each x in fo.SubFolders 

next 
next 

set fo=nothing 
set fs=nothing 

%> 

Antwort

0

Die beste Wie ich herausgefunden habe, um das zu erreichen, muss ich zuerst die Struktur verstehen, in die Sie JSON schreiben wollen. Als nächstes sollten Sie die Daten von http://www.aspjson.com/ ausgeben, indem Sie testen, ob das Objekt funktioniert, und dann Ihre eigenen Werte hinzufügen Code zur Verfügung gestellt, um besser zu wissen, wo Sie Ihre f hinzufügen müssen oder jede Schleife.

Unten ist ein Beispiel dafür, wie dies funktionieren wird:

<!--#include virtual="/aspJSON1.17.asp" --> 
<% 
response.ContentType = "application/json" 
Set oJSON = New aspJSON 
With oJSON.data 

Dim fs, fo, page, x 
d = 0 
page = Server.MapPath("\") 
set fs = Server.CreateObject("Scripting.FileSystemObject") 
set fo = fs.GetFolder(page & "\docs\fsum\") 
'Create value 
.Add 0, oJSON.Collection() 
With oJSON.data(0) 
    for each a in fo.subFolders 
     x = x + 1 
     .Add x, oJSON.Collection() 
     With .item(x) 
      .Add "year", a.Name 
      newFolder = fo & "\" & a.Name 
      set fob = fs.GetFolder(newFolder) 
      for each b in fob.SubFolders 
      .Add b.Name, oJSON.Collection() 
      With .item(b.Name) 
      .Add 1, oJSON.Collection() 
       With .item(1) 
        .Add "files", oJSON.Collection() 
        With .item("files") 
        newFiles = fo & "\" & a.Name & "\" & b.Name 
        set foc = fs.GetFolder(newFiles) 
        for each z in foc.files 
        d = d + 1 
         .Add d, z.Name 
        next 
        End With 
       End With 
      End With 
      next 
     End With 
     next 
End With 
End With 

Response.Write oJSON.JSONoutput() 
%>