CEF生成JSON数据

在“使用CEF的JSON解析功能”中介绍了使用CefParseJson方法,与之对应的还有一个CefWriteJson方法,可以用来生成JSON串(或二进制),其函数原型如下:

// Generates a JSON string from the specified root |node| which should be a
// dictionary or list value. Returns an empty string on failure. This method
// requires exclusive access to |node| including any underlying data.
/*--cef()--*/
CefString CefWriteJSON(CefRefPtr<CefValue> node,
                       cef_json_writer_options_t options);

注意第一个参数是CefValue类型,在cef_values.h中定义,是CEF里的通用类型。当我们要调用CefWriteJSON时必须传入此类型的数据,假如你的JSON数据通过CefListValue或CefDictionaryValue来表示,就需要将它们设置到一个CefValue实例中再传递给CefWriteJSON。

下面是使用CefWriteJSON的一个简单示例:

void testWriteJson()
{
    CefRefPtr<CefDictionaryValue> pDict = CefDictionaryValue::Create();
    pDict->SetInt("id", 123);
    pDict->SetString("name", "ZhangSanFeng");

    CefRefPtr<CefValue> pValue = CefValue::Create();
    pValue->SetDictionary(pDict);
    std::string jsonString = CefWriteJSON(pValue, JSON_WRITER_DEFAULT);

    OutputDebugStringA(jsonString.c_str());
}

对应生成的JSON串如下:

{
    "id":123,
    "name":"ZhangSanFeng"
}

JSON数据可能是我们基于CEF开发富客户端程序时,在JS和C++之间通信最方便的格式了。以上面的数据为例,传递到JS上下文中,就可以用obj.id、obj.name之类的形式来访问。



就这样吧。

其他参考文章详见我的专栏:【CEF与PPAPI开发】。

时间: 2024-10-11 18:27:40

CEF生成JSON数据的相关文章

Java-封装生成JSON数据和XML数据类

1.背景 借鉴与php中 app接口的实现(php写app接口生成xml和json数据),封装了java版的json和xml数据操作类! 2.准备 在使用之前,需要引入 json 的jar 包:点我下载 ! 这里实现了,对象转json , 对象集合转json, 对象转xml,对象集合转xml ; 3.appUtil 工具类实现 具体的实现过程,我就不解释了,一边写,一边测试!直到写成为止! 里面的 tojsonArray() 方法 没有使用,可以删除,不过想生成json数组的 ,就不需要删除了!

在SQL 中生成JSON数据

这段时间接手一个数据操作记录的功能,刚拿到手上的时候打算用EF做,后来经过仔细考虑最后还是觉定放弃,最后思考再三决定: 1.以模块为单位分表.列固定(其实可以所有的操作记录都放到同一个表,但是考虑到数据量大的时候查询性能的问题还是分表吧)列:主键ID.引用记录主键ID.操作时间.操作类型.详细信息(里面存储的就是序列化后的值) 2.在客服端解析保存的序列化的值 但是用xml还是用json呢,这有是一个问题,显然用xml在存储过程正很容易就能生成了:SELECT * FROM TABLE FOR 

ASP生成JSON数据

原文地址为:ASP生成JSON数据 < %@LANGUAGE = " VBSCRIPT "  CODEPAGE = " 65001 " % >  < ! -- #include file = " json.asp " -->  < ! -- #include file = " inc/Conn.asp "   -->  < %response.ContentType = " 

黑马day17 xstream生成xml数据&amp;json-lib生成json数据

1.XStream工具介绍: 这个工具即这个工具的jar包可以帮我们把JavaBean,集合(List,Set,Map)等生成xml格式的数据 jar包: xstream-1.4.4.jar 这是核心包 xpp3_min-1.1.4c.jar 这是必须依赖的包 只要导入这两个jar包 导入到构建路径中就可以使用了.. 2.json-lib介绍: 这个jar包可以帮我们把JavaBean,集合(List,Set,Map)等生成json格式的数据 jar包: 这是核心包 这是核心包的依赖包 为了方便

c# 生成json数据包

json数据类型,归根到底就是一个字符串,管他里面什么格式,它就是一个字符串来的! 看一个json数据包: { "touser":"OPENID", "template_id":"ngqIpbwh8bUfcSsECmogfXcV14J0tQlEpBO27izEYtY", "url":"http://weixin.qq.com/download", "topcolor"

js生成json数据

<script src="~/static/js/jquery.min.js"></script><script type="text/javascript"> var list = [];//创建数组 var a1 = {};//创建对象 a1.t = "a"; a1.v = "b,s,g"; var a2 = {}; a2.t = "c"; a2.v = "

使用GSON来生成JSON数据

第二种方法: 当不需要显示某个属性时,在不需要显示出的属性前加transient关键字即可满足

JSON数据的生成与解析

JSON数据的生成与解析,首先先到网上下载一个json jar包,我用的是org.json 示例代码: package json; import org.json.JSONArray; import org.json.JSONObject; public class Main { /** * 生成Json数据 */ public static String createJson(){ JSONObject json = new JSONObject(); json.put("classId&qu

Json数据的序列化与反序列化的三种常用方法介绍

以下内容是本作者从官网中看相应的教程后所做的demo,其体现了作者对相关知识点的个人理解..作者才疏学浅,难免会有理解不到位的地方..还请各位读者批判性对待... 本文主要介绍在Json数据的序列化与反序列化的过程中我经常用到的三种工具的基本使用方法,及其他们之间 的比较...希望能够对读者们有一些帮助... 这里介绍到的三种解析与生成Json数据的方法分别是:标准JSON解析与生成方法.使用gson解析与生成JSON数据 .使用fastJsson解析与生成JSON数据. 首先,这些工具都可以到