• 轻量级交互数据json格式初探


    [w3cschool tydef]
    什么是 JSON ?
    JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)
    JSON 是轻量级的文本数据交换格式
    JSON 独立于语言 *
    JSON 具有自我描述性,更易理解
    * JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。
    JSON 语法是 JavaScript 语法的子集。

    为什么要用json
    在异步应用程序中发送和接收信息时,可以选择以纯文本和 XML 作为数据格式。掌握 Ajax 的这一期讨论另一种有用的数据格式 JavaScript Object Notation(JSON),以及如何使用它更轻松地在应用程序中移动数据和对象。
    简 单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户机传递给服务器端程序。这个字符串看起来有点儿古怪(稍后会看到几个示例),但是 JavaScript 很容易解释它,而且 JSON 可以表示比名称/值对更复杂的结构。

    特点
    类似 XML
    JSON 是纯文本
    JSON 具有“自我描述性”(人类可读)
    JSON 具有层级结构(值中存在值)
    JSON 可通过 JavaScript 进行解析
    JSON 数据可使用 AJAX 进行传输

    相比 XML 的不同之处
    没有结束标签
    更短
    读写的速度更快
    能够使用内建的 JavaScript eval_r() 方法进行解析
    使用数组
    不使用保留字

    使用 JSON
    读取 JSON 字符串
    用 eval_r() 处理 JSON 字符串

    json c++ api 很不错的博客,全了。
    http://hi.baidu.com/jiangyangw3r/blog/item/bfedc1ce59b23e0c92457e14.html

    c++打json包的一个例子
    #include

    class JsonGuard
    {

        public:
            JsonGuard(json_object *obj) : m_obj(obj){}
            ~JsonGuard(){
                json_object_put(m_obj);
            }  
        private:
            json_object *m_obj;
    };

    void testjson()
    {
        cout << "test json begin!" << endl;
        json_object *obj = json_object_new_object();
        JsonGuard jsonGuard(obj);
        // 打一个学生的json格式的信息
        int id = 1;
        json_object_object_add(obj, "id", json_object_new_int(id));
        string name("huangfengxiao");
        json_object_object_add(obj, "name", json_object_new_string(name.c_str()));

        json_object *subobj = json_object_new_object();//subobj
        string mathadd("A-404");
        json_object_object_add(subobj, "math", json_object_new_string(mathadd.c_str()));
        string chineseadd("A-404");
        json_object_object_add(subobj, "chineseadd", json_object_new_string(chineseadd.c_str()));
        json_object_object_add(obj, "subjectaddr", subobj);

        const char *jsData = json_object_to_json_string(obj);
        cout<<jsData<<endl;
        cout << "test json end!" << endl;
    }

  • 相关阅读:
    TIME_WAIT
    Oracle常用SQL命令
    Linux系统标准化设置:克隆系统后网卡设置、固定IP设置、关闭防火墙和SELINUX、更改主机名
    Linux平台oracle 11g单实例 + ASM存储 安装部署
    Oracle基础维护03-主机、数据库日志收集
    print控制台输出带颜色文字方法
    第二十九节,装饰器
    python 浅析对return的理解
    工欲善其事,必先利其器——持续更新中……
    优秀的学习资源收集:
  • 原文地址:https://www.cnblogs.com/ruiy/p/cPPJson.html
Copyright © 2020-2023  润新知