色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c 類轉(zhuǎn)json變單引號

錢斌斌1年前7瀏覽0評論

在C語言中,將一個結(jié)構(gòu)體或者變量轉(zhuǎn)換為JSON字符串是常見的操作。但是在轉(zhuǎn)換過程中,有時候會出現(xiàn)雙引號被轉(zhuǎn)義為反斜杠"的情況,不方便后續(xù)處理。此時,可以將JSON中的雙引號改為單引號進行處理。

//將C語言結(jié)構(gòu)體轉(zhuǎn)為JSON字符串
#include <stdio.h>
#include <stdlib.h>
#include <jansson.h>
typedef struct{
char name[20];
char gender[10];
int age;
double height;
}Person;
int main(){
Person p1 = {"Alice", "女", 18, 165.5};
json_t *root = json_object();
json_object_set_new(root, "name", json_string(p1.name));
json_object_set_new(root, "gender", json_string(p1.gender));
json_object_set_new(root, "age", json_integer(p1.age));
json_object_set_new(root, "height", json_real(p1.height));
const char *result = json_dumps(root, JSON_INDENT(2));
printf("%s\n", result);
json_decref(root);
free(result);
return 0;
}

在執(zhí)行結(jié)果中,我們發(fā)現(xiàn)JSON字符串中的雙引號被轉(zhuǎn)義為了反斜杠",這對后續(xù)處理不太方便。

{
"name": "Alice",
"gender": "\u5973",
"age": 18,
"height": 165.500000
}

此時,我們可以將JSON中的雙引號改為單引號,這樣就不會出現(xiàn)雙引號被轉(zhuǎn)義的情況了。具體操作方法如下:

const char *result = json_dumps(root, JSON_INDENT(2) | JSON_ESCAPE_SINGLEQUOTE);

在將結(jié)構(gòu)體或變量轉(zhuǎn)為JSON字符串的過程中,我們可以根據(jù)需要選擇是否將JSON中的雙引號改為單引號,這樣可以方便后續(xù)的處理。