Hi,

I have copied and hacked TJSONProtocol.cpp to make a version that just 
generates standard JSON when an object is written.

By this I mean that if I had this struct definition:

struct ExtendedStatus { 
1: i32          status,
2: i32          state,
3: i32          percentComplete,
4: i32          elapsedMsec,
5: string       statusDescription,
6: string       exceptionMsg,
}

my protocol would serialize it as this:

{"status":2,"state":5,"percentComplete:40,"elapsedMsec":1200,"statusDescription":"Talking
 to the server","exceptionMsg:""}

(I wrote this by hand, so it might not be totally correct. The point is that it 
doesn't encode types, etc. It just uses the member names.)

If my Javascript side had a standard object prototype definition for 
ExtendedStatus, then I can serialize C++ thrift classes from C++, transmit them 
to my Javascript code, and evaluate the JSON to create an ExtendedStatus object 
and use it.

What I'm missing is the code generation for the prototypes.

By any chance, has anyone done this already, and would they be willing to 
share? Otherwise I guess we'll see about hacking the C++ generator to make one, 
but that means adding a new generator type, or maybe just making the cpp code 
generator also generate the prototype JS file automatically.

Better still, has anyone secretly written the Javascript code generator that 
would work with the TJSONProtocol implementation?

Or does anyone have another idea of how I can achieve this? I have written a 
few of these by hand, but it's easy to make mistakes and you need to know when 
the thrift IDL file changes.

- Rush

Reply via email to