[Openid-specs-ab] Language Script Tags
Justin Richer
jricher at mitre.org
Thu Mar 14 15:10:32 UTC 2013
In implementing things, I've run into a problem when looking to parse
values with the language script tags and I'm wondering what other
developers have done.
Specifically, the hash tag (#) is not a valid member name in JavaScript,
Python, PHP, or Java (and likely many others), which means I can't do a
simple JSON-to-Object deserialization on any fields that use this
construct. In other words, say I've got this JSON:
{ "client_name#en-us": "Test Client" }
Parsing that to JavaScript, I'd expect to be able to use the object
accessor, like:
client.client_name#en-us
But that's not valid JavaScript. Yes, I can use array accessor notation,
but it's inconsistent with other fields. Similarly in Java, I'd get
something like this in a blindly-mapped object:
client.getClient_name#en-us()
but that is also not a valid Java method name. It's the same basic story
on just about every language I've poked at in the last few minutes here,
so I can't be the first one to have run into this. What has everyone
else done to overcome this limitation in the common parse/map operation?
Do you have custom parsers that map the field names? Do you just not use
object-level accessors for these fields?
-- Justin
More information about the Openid-specs-ab
mailing list