Loading ...
Sorry, an error occurred while loading the content.

parseJSON

Expand Messages
  • Douglas Crockford
    I have updated json.org/json.js to support the optional hook function, anticipating ECMAScript 4th edition.
    Message 1 of 7 , Dec 6, 2006
    • 0 Attachment
      I have updated json.org/json.js to support the optional hook function,
      anticipating ECMAScript 4th edition.
    • Douglas Crockford
      The parseJSON method currently takes a filter function parameter. It will be invoked for every name/value in the structure. myData = text.parseJSON(function
      Message 2 of 7 , Jan 10, 2007
      • 0 Attachment
        The parseJSON method currently takes a filter function parameter. It
        will be invoked for every name/value in the structure.
        myData = text.parseJSON(function (key, value) { return
        key.indexOf('date') >= 0 ? new Date(value) : value; });
        The filtration mechanism is just a general purpose map function. It
        could be exposed as a separate method and used independently. If we were
        to do that, then it could be used like this:
        myData = text.parseJSON().filter(function (key, value) { return
        key.indexOf('date') >= 0 ? new Date(value) : value; });
        Do you think a general purpose .filter method is useful? Should it be
        added to ECMAScript?



        [Non-text portions of this message have been removed]
      • Michael Schwarz
        Hi Douglas, as I can remember you wrote some weeks ago that parseJSON will be added, too, I would say yes, and I like the filter method more than using
        Message 3 of 7 , Jan 10, 2007
        • 0 Attachment
          Hi Douglas,

          as I can remember you wrote some weeks ago that parseJSON will be
          added, too, I would say yes, and I like the filter method more than
          using parameter.

          Michael


          On 1/10/07, Douglas Crockford <douglas@...> wrote:
          >
          > The parseJSON method currently takes a filter function parameter. It
          > will be invoked for every name/value in the structure.
          > myData = text.parseJSON(function (key, value) { return
          > key.indexOf('date') >= 0 ? new Date(value) : value; });
          > The filtration mechanism is just a general purpose map function. It
          > could be exposed as a separate method and used independently. If we were
          > to do that, then it could be used like this:
          > myData = text.parseJSON().filter(function (key, value) { return
          > key.indexOf('date') >= 0 ? new Date(value) : value; });
          > Do you think a general purpose .filter method is useful? Should it be
          > added to ECMAScript?
          >
          >
          >
          > [Non-text portions of this message have been removed]
          >
          >
          >


          --
          Best regards | Schöne Grüße
          Michael

          Microsoft MVP - Most Valuable Professional
          Microsoft MCAD - Certified Application Developer

          http://weblogs.asp.net/mschwarz/
          http://www.ajaxpro.info/

          WPF/E: http://groups.google.com/group/wpf-everywhere

          Skype: callto:schwarz-interactive
          MSN IM: passport@...
        • Peter Michaux
          ... Would this general purpose filter as a property of Object.prototype be instead of or in addition to the argument to parseJSON? Could filter take a second
          Message 4 of 7 , Jan 10, 2007
          • 0 Attachment
            On 1/10/07, Douglas Crockford <douglas@...> wrote:
            > The parseJSON method currently takes a filter function parameter. It
            > will be invoked for every name/value in the structure.
            > myData = text.parseJSON(function (key, value) { return
            > key.indexOf('date') >= 0 ? new Date(value) : value; });
            > The filtration mechanism is just a general purpose map function. It
            > could be exposed as a separate method and used independently. If we were
            > to do that, then it could be used like this:
            > myData = text.parseJSON().filter(function (key, value) { return
            > key.indexOf('date') >= 0 ? new Date(value) : value; });
            > Do you think a general purpose .filter method is useful? Should it be
            > added to ECMAScript?

            Would this general purpose filter as a property of Object.prototype be
            instead of or in addition to the argument to parseJSON?

            Could filter take a second parameter to specify if it is "deep" filter
            or not? That is, whether or not it will descend through the structure
            or only operate on the top level.

            It looks like the general purpose version is not harder to use and
            could be useful in many situations (i did something just like it
            recently to clean up empty nodes in a structure). It has the feel of
            Enumerable.each() in the Prototype library. If this filter is added to
            JavaScript perhaps some of the other Ruby enumerable, array and hash
            functions could be considered for addition.

            Peter
          • Peter Michaux
            ... Calling it filter may cause a namespace problem? Peter
            Message 5 of 7 , Jan 10, 2007
            • 0 Attachment
              On 1/10/07, Douglas Crockford <douglas@...> wrote:
              >
              > The parseJSON method currently takes a filter function parameter. It
              > will be invoked for every name/value in the structure.
              > myData = text.parseJSON(function (key, value) { return
              > key.indexOf('date') >= 0 ? new Date(value) : value; });
              > The filtration mechanism is just a general purpose map function. It
              > could be exposed as a separate method and used independently. If we were
              > to do that, then it could be used like this:
              > myData = text.parseJSON().filter(function (key, value) { return
              > key.indexOf('date') >= 0 ? new Date(value) : value; });
              > Do you think a general purpose .filter method is useful? Should it be
              > added to ECMAScript?


              Calling it "filter" may cause a namespace problem?

              <URL: http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Objects:Array:filter>

              Peter
            • Michael Schwarz
              It looks like the LINQ features in C# 3.0: http://tirania.org/blog/archive/2007/Jan-10.html ;) ... -- Best regards | Schöne Grüße Michael Microsoft MVP -
              Message 6 of 7 , Jan 11, 2007
              • 0 Attachment
                It looks like the LINQ features in C# 3.0:
                http://tirania.org/blog/archive/2007/Jan-10.html

                ;)




                On 1/10/07, Douglas Crockford <douglas@...> wrote:
                >
                >
                >
                >
                >
                >
                >
                > The parseJSON method currently takes a filter function parameter. It
                > will be invoked for every name/value in the structure.
                > myData = text.parseJSON(function (key, value) { return
                > key.indexOf('date') >= 0 ? new Date(value) : value; });
                > The filtration mechanism is just a general purpose map function. It
                > could be exposed as a separate method and used independently. If we were
                > to do that, then it could be used like this:
                > myData = text.parseJSON().filter(function (key, value) { return
                > key.indexOf('date') >= 0 ? new Date(value) : value; });
                > Do you think a general purpose .filter method is useful? Should it be
                > added to ECMAScript?
                >
                > [Non-text portions of this message have been removed]
                >
                >



                --
                Best regards | Schöne Grüße
                Michael

                Microsoft MVP - Most Valuable Professional
                Microsoft MCAD - Certified Application Developer

                http://weblogs.asp.net/mschwarz/
                http://www.ajaxpro.info/

                WPF/E: http://groups.google.com/group/wpf-everywhere

                Skype: callto:schwarz-interactive
                MSN IM: passport@...
              • Douglas Crockford
                Safari s regular expression engine performs horribly on regular expressions on large texts. Tobie Langel suggested a workaround for parseJSON by splitting the
                Message 7 of 7 , Jun 20, 2007
                • 0 Attachment
                  Safari's regular expression engine performs horribly on regular
                  expressions on large texts. Tobie Langel suggested a workaround for
                  parseJSON by splitting the regular expression in three with no loss of
                  security.

                  http://json.org/json.js
                Your message has been successfully submitted and would be delivered to recipients shortly.