在C語言中,我們可以使用一些庫來處理JSON格式的字符串,如 cJSON、Jansson 等。下面是一個使用 cJSON 庫來處理 JSON 字符串并將其轉為 HTML 標簽的示例。
首先,我們需要先加載 cJSON 庫和一些其他頭文件:
```c
#include#include#include "cJSON.h"
```
然后,我們定義一個處理 JSON 字符串的函數,函數的輸入參數是一個 JSON 字符串,輸出是一個 HTML 標簽字符串:
```c
char *json_to_html(const char *json_str) {
// 解析 JSON 字符串
cJSON *root = cJSON_Parse(json_str);
// 創建 HTML 標簽字符串
char *html_str = malloc(1024 * sizeof(char));
char *p_str = "";
char *pre_str = "";
html_str[0] = '\0';
// 處理文章
cJSON *article = cJSON_GetObjectItem(root, "article");
if (article) {
char *content = cJSON_GetStringValue(article);
if (content) {
// 使用 p 標簽將文章內容包裹起來
sprintf(p_str, "
%s
", content); strcat(html_str, p_str); } } // 處理段落 cJSON *paragraphs = cJSON_GetObjectItem(root, "paragraphs"); if (paragraphs) { if (cJSON_IsArray(paragraphs)) { cJSON *paragraph; cJSON_ArrayForEach(paragraph, paragraphs) { char *content = cJSON_GetStringValue(paragraph); if (content) { // 使用 p 標簽將段落內容包裹起來 sprintf(p_str, "%s
", content); strcat(html_str, p_str); } } } } // 處理代碼 cJSON *code = cJSON_GetObjectItem(root, "code"); if (code) { char *content = cJSON_GetStringValue(code); if (content) { // 使用 pre 標簽將代碼內容包裹起來 sprintf(pre_str, "%s", content); strcat(html_str, pre_str); } } // 釋放 cJSON 對象和內存 cJSON_Delete(root); return html_str; } ``` 以上代碼將 JSON 字符串中的文章、段落、代碼內容分別用 p、pre 標簽包裹起來,最終輸出一個 HTML 標記字符串。 使用該函數的時候,我們可以將 JSON 字符串作為輸入參數傳入: ```c char *json_str = "{\"article\":\"這是一篇文章內容\",\"paragraphs\":[\"段落1\",\"段落2\"],\"code\":\"printf(\\\"Hello, world!\\\");\"}"; char *html_str = json_to_html(json_str); printf("%s", html_str); free(html_str); ``` 以上代碼會將 JSON 字符串轉化為一個 HTML 標記字符串并輸出。