I'm having this problem as well: I've been trying to use the YQL pipes module basically as a proxy to JSON feeds, for use in Yahoo Pipes.
(read this if want to know why I'm using YQL this way):
I'm doing this because the "Fetch Data" module over at Yahoo Pipes doesn't seem to support Unicode, and using it results in irrecoverable loss of information. For instance, a Unicode string in a JSON result will be converted into a string such as "uXXXXuXXXXuXXXX ..." by the Fetch Data module. On my end, I tried using RegEx to replace all "unicode looking" strings (in the format of uXXXX, where XXXX are 0-F), but this can't work: Some strings are in this format, but are not actually unicode, such as the string "cubecart" where "ubeca" would get matched. Hence, some information is permanently lost when using Fetch Data.
Anyway, in the process of switching over some pipes from "Fetch Data" to YQL, which I figured would be equivalent, I found weird behavior.
The first is that if the name/value pairs of a JSON contain both numbers and strings, it consolidates the numbered ones into a subarray with the name "_". I haven't tested this, but I wonder what happens if the JSON object already contains a property named "_" ! At any rate, this YQL is altering the JSON in a very inconvenient way.
Take this JSON feed, for instance:
http://feeds.delicious.com/v2/json/urlinfo...eaefe4381592a46If you look at the "top_tags" property, you'll see there are 10 name/value pairs. YQL, however, returns this:
http://query.yahooapis.com/v1/public/yql?q...n&callback=Notice in "top_tags" there is now a subarray, with the name "_".
Another difference between YQL's returned JSON and the original JSON is that YQL will entirely omit a name/value pair if the value is an empty array. This is more serious, as in this instance the name, which may be important information, will be lost forever. (Note: it may omit name/value pairs in other instances... such as when the value is empty string, 0, or empty object... I just haven't tested this, either)
I'm curious to know the best way to approach this issue.
Thanks!