After some investigation, I don't think there's anything I can do about this. When *I* get a string's value via store::Item::getStringValue(), it is in its canonical representation, i.e., < is actually a literal <, etc. There's some other XML serializer "downstream" from me that converts the illegal characters in XML to their &'d counterparts. If it's serializing JSON, clearly, it shouldn't do that.
Note that characters like <, >, &, are actually *legal* in JSON, so those shouldn't be converted at all. (In fact, it's illegal to \ them.)
After some investigation, I don't think there's anything I can do about this. When *I* get a string's value via store:: Item::getString Value() , it is in its canonical representation, i.e., < is actually a literal <, etc. There's some other XML serializer "downstream" from me that converts the illegal characters in XML to their &'d counterparts. If it's serializing JSON, clearly, it shouldn't do that.
Note that characters like <, >, &, are actually *legal* in JSON, so those shouldn't be converted at all. (In fact, it's illegal to \ them.)