I've committed the patch. Thanks, Raphael, for fixing, and thanks, Christian for reporting.
--N On Jan 1, 9:33 pm, Rapha <[email protected]> wrote: > Hi Christian, > > I've filed a bug and submitted a patch for that. > > https://bugzilla.mozilla.org/show_bug.cgi?id=537483 > > Cheers, > Raphael > > On Jan 1, 3:56 am, Christian Grigis <[email protected]> > wrote: > > > Hello, > > > I am doing some tests with the CVS version of Rhino 1.7R3, and I am > > running into an issue with the JSON native object. > > > The problem involves the object returned when parsing a dictionary, if > > the keys happen to be (string representations of) numbers. More > > specifically: > > > js> var o1 = {"a": 100} > > js> var o2 = {"1": 100} > > js> var s1 = JSON.stringify(o1) > > js> var s2 = JSON.stringify(o2) > > js> s1 > > {"a":100} > > js> s2 > > {"1":100} > > > So far, so good. > > > js> var n1 = JSON.parse(s1) > > js> var n2 = JSON.parse(s2) > > js> n1["a"] > > 100 > > js> n2["1"] > > js> typeof(n2["1"]) > > undefined > > > The value with key "1" on n2 is strangely undefined. The attribute is > > there though: > > > js> for (var k in n2) print(k, typeof(k), n2[k]) > > 1 string undefined > > > And the value is hidden there somewhere as well, because: > > > js> JSON.stringify(n1) > > {"a":100} > > js> JSON.stringify(n2) > > {"1":100} > > > Summarized, the two following statements do not return the same thing: > > > js> JSON.parse(JSON.stringify({"a": 100}))["a"] > > 100 > > js> JSON.parse(JSON.stringify({"1": 100}))["1"] > > js> > > > As a comparison, the same thing work as expected with Prototype 1.6.1 > > JSON routines: > > > js> Object.toJSON({"a": 100}).evalJSON()["a"] > > 100 > > js> Object.toJSON({"1": 100}).evalJSON()["1"] > > 100 > > > Is this a known problem? Am I missing something? > > > Thank you, best regards, and Happy New Year! > > > -Christian > > -- > > Christian Grigis > > Senior Software Engineer > > NEXThink S.A. --http://www.nexthink.com/ _______________________________________________ dev-tech-js-engine-rhino mailing list [email protected] https://lists.mozilla.org/listinfo/dev-tech-js-engine-rhino
