40 |
/* |
/* |
41 |
* JS JSON functions. |
* JS JSON functions. |
42 |
*/ |
*/ |
43 |
|
#include "jsscan.h" |
44 |
|
|
45 |
#define JSON_MAX_DEPTH 2048 |
#define JSON_MAX_DEPTH 2048 |
46 |
#define JSON_PARSER_BUFSIZE 1024 |
#define JSON_PARSER_BUFSIZE 1024 |
53 |
js_InitJSONClass(JSContext *cx, JSObject *obj); |
js_InitJSONClass(JSContext *cx, JSObject *obj); |
54 |
|
|
55 |
extern JSBool |
extern JSBool |
56 |
js_Stringify(JSContext *cx, jsval *vp, JSObject *replacer, |
js_Stringify(JSContext *cx, jsval *vp, JSObject *replacer, jsval space, |
57 |
JSONWriteCallback callback, void *data, uint32 depth); |
JSONWriteCallback callback, void *data); |
58 |
|
|
59 |
extern JSBool js_TryJSON(JSContext *cx, jsval *vp); |
extern JSBool js_TryJSON(JSContext *cx, jsval *vp); |
60 |
|
|
89 |
JSONParserState *statep; |
JSONParserState *statep; |
90 |
JSONParserState stateStack[JSON_MAX_DEPTH]; |
JSONParserState stateStack[JSON_MAX_DEPTH]; |
91 |
jsval *rootVal; |
jsval *rootVal; |
92 |
JSStringBuffer *objectKey; |
JSStringBuffer objectKey; |
93 |
JSStringBuffer *buffer; |
JSStringBuffer buffer; |
94 |
JSObject *objectStack; |
JSObject *objectStack; |
95 |
}; |
}; |
96 |
|
|
101 |
js_ConsumeJSONText(JSContext *cx, JSONParser *jp, const jschar *data, uint32 len); |
js_ConsumeJSONText(JSContext *cx, JSONParser *jp, const jschar *data, uint32 len); |
102 |
|
|
103 |
extern JSBool |
extern JSBool |
104 |
js_FinishJSONParse(JSContext *cx, JSONParser *jp); |
js_FinishJSONParse(JSContext *cx, JSONParser *jp, jsval reviver); |
105 |
|
|
106 |
JS_END_EXTERN_C |
JS_END_EXTERN_C |
107 |
|
|