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

Reply via email to