we've seen this before on this list, and the suggestion i came up with is to manually parse the JSON for integer values (wouldn't be that hard) and wrap them in strings.
On Fri, Aug 21, 2009 at 08:58, JSJ <[email protected]> wrote: > > I have not seen this issue discussed anywhere yet. > > Recently my twitter search API code stopped working properly (using > search.json). After tracking down the issue here is what I think is > going on: > > - Recently, the status/message IDs returned by the search API began > exceeding the maximum positive integer allowed on 32-bit OS platforms > (2,147,483,647). For example, in a recent API call I am getting > message IDs such as 3,448,308,315. > - The twitter API returns these within the JSON string using integer > encoding. From PHP, when I decode the return JSON string using > json_decode on 32-bit Windows, I end up with ID values such as > -958,581,221 rather than 3,xxx,xxx,xxx. > - This causes a problem for both message IDs and the max_id parameter > which is required to get further pages of results. > - At the moment I cannot find a way to get the proper ID out of the > JSON payload without manually changing the raw JSON encoded string I > get back from twitter to force the IDs to be encoded as strings rather > than integers. This involves several search and replace operations and > thus is very inefficient. > - One alternative may be to switch to ATOM but I hoping to avoid that > as JSON is compact and works well. > - Ideally the JSON API could return the IDs using a string rather than > integer encoding > > Has anyone seen this and does anyone else have any ideas on how to > work around it? > > > -- Internets. Serious business.
