File tree Expand file tree Collapse file tree 1 file changed +42
-41
lines changed Expand file tree Collapse file tree 1 file changed +42
-41
lines changed Original file line number Diff line number Diff line change 66
77void print_json_value (const json_value_t * val , int depth );
88
9+ void print_json_string (const char * str )
10+ {
11+ printf ("\"" );
12+ while (* str )
13+ {
14+ switch (* str )
15+ {
16+ case '\r' :
17+ printf ("\\r" );
18+ break ;
19+ case '\n' :
20+ printf ("\\n" );
21+ break ;
22+ case '\f' :
23+ printf ("\\f" );
24+ break ;
25+ case '\b' :
26+ printf ("\\b" );
27+ break ;
28+ case '\"' :
29+ printf ("\\\"" );
30+ break ;
31+ case '\t' :
32+ printf ("\\t" );
33+ break ;
34+ case '\\' :
35+ printf ("\\\\" );
36+ break ;
37+ default :
38+ if ((unsigned char )* str < 0x20 )
39+ printf ("\\u00%02x" , * str );
40+ else
41+ printf ("%c" , * str );
42+ break ;
43+ }
44+ str ++ ;
45+ }
46+ printf ("\"" );
47+ }
48+
949void print_json_object (const json_object_t * obj , int depth )
1050{
1151 const char * name ;
@@ -27,7 +67,8 @@ void print_json_object(const json_object_t *obj, int depth)
2767 n ++ ;
2868 for (i = 0 ; i < depth + 1 ; i ++ )
2969 printf (" " );
30- printf ("\"%s\": " , name );
70+ print_json_string (name );
71+ printf (": " );
3172 print_json_value (val , depth + 1 );
3273 }
3374
@@ -66,46 +107,6 @@ void print_json_array(const json_array_t *arr, int depth)
66107 printf ("]" );
67108}
68109
69- void print_json_string (const char * str )
70- {
71- printf ("\"" );
72- while (* str )
73- {
74- switch (* str )
75- {
76- case '\r' :
77- printf ("\\r" );
78- break ;
79- case '\n' :
80- printf ("\\n" );
81- break ;
82- case '\f' :
83- printf ("\\f" );
84- break ;
85- case '\b' :
86- printf ("\\b" );
87- break ;
88- case '\"' :
89- printf ("\\\"" );
90- break ;
91- case '\t' :
92- printf ("\\t" );
93- break ;
94- case '\\' :
95- printf ("\\\\" );
96- break ;
97- default :
98- if ((unsigned char )* str < 0x20 )
99- printf ("\\u00%02x" , * str );
100- else
101- printf ("%c" , * str );
102- break ;
103- }
104- str ++ ;
105- }
106- printf ("\"" );
107- }
108-
109110void print_json_number (double number )
110111{
111112 long long integer = number ;
You can’t perform that action at this time.
0 commit comments