asp datatypes converted to JSON

Discussion in 'ASP General' started by michal, Apr 26, 2007.

  1. michal

    michal Guest

    michal, Apr 26, 2007
    #1
    1. Advertising

  2. michal wrote:
    > hi guys,
    > i thought you might be interested in a nice JSON class which converts
    > ASP datatypes (basic datatypes, dictionaries, recordsets, ...) into
    > JSON so that javascript can easily understand it ...
    > you'll find the demonstration and the download here
    >

    http://fabiankoehler.de/wdb/2007/04/26/generate-json-from-asp-datatypes/

    Ummm - ASP is not a language with datatypes. Perhaps you meant
    "vbscript". You also seem to forget that ASP can use other scripting
    languages such as jscript. You might want to update your page.

    --
    Microsoft MVP -- ASP/ASP.NET
    Please reply to the newsgroup. The email account listed in my From
    header is my spam trap, so I don't check it very often. You will get a
    quicker response by posting to the newsgroup.
    Bob Barrows [MVP], Apr 26, 2007
    #2
    1. Advertising

  3. michal

    michal Guest

    On Apr 26, 7:01 pm, "Bob Barrows [MVP]" <>
    wrote:
    > michal wrote:
    > > hi guys,
    > > i thought you might be interested in a nice JSON class which converts
    > > ASP datatypes (basic datatypes, dictionaries, recordsets, ...) into
    > > JSON so that javascript can easily understand it ...
    > > you'll find the demonstration and the download here

    >
    > http://fabiankoehler.de/wdb/2007/04/26/generate-json-from-asp-datatypes/
    >
    > Ummm - ASP is not a language with datatypes. Perhaps you meant
    > "vbscript". You also seem to forget that ASP can use other scripting
    > languages such as jscript. You might want to update your page.
    >
    > --
    > Microsoft MVP -- ASP/ASP.NET
    > Please reply to the newsgroup. The email account listed in my From
    > header is my spam trap, so I don't check it very often. You will get a
    > quicker response by posting to the newsgroup.


    thanks ive changed that...
    michal, Apr 27, 2007
    #3
  4. michal

    Justin Piper Guest

    On Thu, 26 Apr 2007 11:30:49 -0500, michal <> wrote:

    > hi guys,
    > i thought you might be interested in a nice JSON class which converts
    > ASP datatypes (basic datatypes, dictionaries, recordsets, ...) into
    > JSON so that javascript can easily understand it ...
    > you'll find the demonstration and the download here
    > http://fabiankoehler.de/wdb/2007/04/26/generate-json-from-asp-datatypes/


    You might find refactoring that generateValue function into several
    smaller functions worthwhile. I have a function I use for debugging
    which looks like this:

    Function Repr(val)
    Dim r
    Select Case False
    ' For Scalars and objects other than Err, the name of the Repr
    ' function can be derived directly from the value's type
    Case IsObject(val), val Is Err
    On Error Resume Next
    Set r = GetRef("Repr::" & TypeName(val))
    On Error Goto 0
    ' The type of the Err object is "Object", so its Repr function
    ' must be manually chosen
    Case Else
    Set r = GetRef("Repr::Err")
    End Select

    If IsEmpty(r) Then Repr = TypeName(val) Else Repr = r(val)
    End Function

    Then simple specialized functions for each data type can be defined:

    Function [Repr::Integer] (val)
    [Repr::Integer] = "CInt(" & val & ")"
    End Function

    Function [Repr::Date] (val)
    [Repr::Date] = "#" & val & "#"
    End Function

    Function [Repr::String] (val)
    [Repr::String] = """" _
    & Replace(val, """", """""") _
    & """"
    End Function

    Function [Repr::Boolean] (val)
    [Repr::Boolean] = CStr(val)
    End Function

    Function [Repr::Variant()] (val)
    With CreateObject("Scripting.Dictionary")
    Dim elm: For Each elm In val : .Add .Count, Repr(elm) : Next
    [Repr::Variant()] = "Array(" & Join(.Items, ", ") & ")"
    End With
    End Function

    This allows you to easily define Repr functions for user-defined types:

    Class Foo : End Class

    Function [Repr::Foo] (val)
    [Repr::Foo] = "New Foo"
    End Function

    You should be able to use a similar strategy to emit JSON-encoded data.

    --
    Justin Piper
    Bizco Technologies
    http://www.bizco.com/
    Justin Piper, Apr 27, 2007
    #4
  5. michal

    michal Guest

    michal, Apr 27, 2007
    #5
  6. michal

    michal Guest

    hi justin,
    thanks really for your reply, cause as i can see i can still discover
    something new in Vbscript... i havent seen the getRef function yet..
    its awesome.. will play around and this might be a good refactoring
    suggestion ;)
    thanks!
    michal, Apr 27, 2007
    #6
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Florian Frank
    Replies:
    0
    Views:
    222
    Florian Frank
    Jun 30, 2009
  2. sajuptpm
    Replies:
    2
    Views:
    311
    sajuptpm
    Dec 28, 2012
  3. Acácio Centeno
    Replies:
    1
    Views:
    237
    dieter
    Feb 15, 2013
  4. Bryan Britten
    Replies:
    9
    Views:
    253
    Bryan Britten
    May 28, 2013
  5. David Karr
    Replies:
    1
    Views:
    150
    David Karr
    Jun 17, 2013
Loading...

Share This Page