10 Star 20 Fork 6

openEuler / marketing

 / 详情

No.8 - C 语言 JSON 解析转换代码生成框架

Backlog
Task
Opened this issue  
2020-05-21 11:36

标题 No.8 - C 语言 JSON 解析转换代码生成框架

描述 当前 iSulad 项目中,存在大量的json相关的操作(C结构体转换为JSON字符串,JSON字符串转换为C结构体)。由于C语言没有反射机制,导致无法动态解析JSON字符串。因此,需要一个生成解析和转换代码的框架。而且该框架可以支持多种json解析库,例如c-json,yajl等等。

难度

导师 @hao543226460

联系方式 liuhao27@huawei.com

项目产出标准

  • 能够根据json schema生成C语言的json解析和转换代码;
  • 框架至少分为三层设计,上层生成代码的逻辑抽象层,中层负责json解析库驱动层以及底层的不同json解析库的具体实现;
  • 项目架构设计文档;
  • 建议基于Golang实现该框架;

技术要求

  1. C语言开发能力;
  2. json解析;
  3. 良好的架构设计能力;

相关项目

  1. https://gitee.com/openeuler/iSulad
  2. https://gitee.com/openeuler/lcr
  3. https://gitee.com/openeuler/clibcni
  4. https://gitee.com/openeuler/iSula-libutils

相关资料

  1. https://json-schema.org/

Comments (1)

haozi007 created任务
haozi007 set related repository to openEuler/marketing
Expand operation logs

Hey @haozi007, Welcome to openEuler Community.
All of the projects in openEuler Community are maintained by @openeuler-ci-bot.
That means the developers can comment below every pull request or issue to trigger Bot Commands.
Please follow instructions at https://gitee.com/openeuler/community/blob/master/en/sig-infrastructure/command.md to find the details.

lifeng_isula added
 
summer2020
label
haozi007 changed description
lifeng_isula changed title
genedna changed title
genedna changed description
haozi007 changed title
genedna changed title
genedna assigned collaborator allesgute
genedna assigned collaborator genedna
genedna set related project to Summer 2020
genedna set deadline to 2020-07-02
genedna set start time to 2020-07-01
genedna changed deadline from 2020-07-02 to 2020-09-30
openeuler-ci-bot removed
 
summer2020
label

Sign in to comment

Status
Assignees
Projects
Milestones
Pull Requests
Successfully merging a pull request will close this issue.
Branches
Planed to start   -   Planed to end
-
Top level
Priority
Duration (hours)
参与者(4)
5329419 openeuler ci bot 1632792936 5595769 duguhaotian 1605235330 23249 genedna 1586065964
1
https://gitee.com/openeuler/marketing.git
git@gitee.com:openeuler/marketing.git
openeuler
marketing
marketing

Search

344bd9b3 5694891 D2dac590 5694891