cocos2dx 实现国际化-简单点就是怎么用中文2--json

必需要要先把json讲了,否则LFStrings不能工做啊,不过若是大家不使用json的方式,那么无所谓,大家已经知道原理了,就没必要再等待别人讲解,彻底能够本身写代码了。javascript

下面抄一份网上介绍:java

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用彻底独立于语言的文本格式,可是也使用了相似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 这些特性使JSON成为理想的数据交换语言。web

JSON建构于两种结构:编程

  • “名称/值”对的集合(A collection of name/value pairs)。不一样的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。
  • 值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。

这些都是常见的数据结构。事实上大部分现代计算机语言都以某种形式支持它们。这使得一种数据格式在一样基于这些结构的编程语言之间交换成为可能。json

 

json简单来讲就是记录数据的结构,好多web应用都是用json做为数据传输的方式,javascript使用json更是方便。数组

简单针对strings.txt作一个json的介绍吧,若是还想更多的了解他,本身百度google吧。数据结构

好比咱们想存一个键值对“nihao”—>”你好”怎么存?编程语言

直接函数

{
    "key" : "nihao",
    "value" : "你好"
}ui

就能够了,这里的”key”,”value”都是本身定义的,json无论这些,他只管根据字段的属性名,取出他的值就能够了。

因此咱们写成:

{
    "kkkk" : "nihao",
    "vvvv" : "你好"
}

也是没问题的,注意一点是属性名须要用双引号括起来(语法问题,不想多讲,百度,google了解下就是了)。

咱们的strings里面有不少键值对,那是怎么存呢,那么就是json的数组了,数组用[]括起来就是了:

好比:

{
    "strings":[
        {
            "key":"biaoti",
            "value":"标题"
        },
        {
            "key":"huihe",
            "value":"回合"
        }

     ]

}

这里就是有2个键值对了,是用[]括起来的。

好了闲话已经太多了,不能再讲json了。

 

下面直接来在cocos2dx中怎么使用json解析。

首先咱们须要下载一个json解析的库,google一搜,你便知道能够用什么解析了:

image

我选择的就是jsoncpp来解析,文章后面会附带这个库的压缩包,各位就不用再去找了。

解压下来,如以下目录结构:

image

json放到本身的目录里面,不要污染我咱们本身的项目的代码。这样LFStrings就能够工做了。

LFStrings解析的时候涉及到文本的读入,相信大家应该也会了,直接把LFFileUtiles涉及到的文件操做本身实现就能够了(我后面会尽可能附件里面带上LFFileUtiles)。LFStrings中最主要的函数就是parseFile,涉及文档的解析。若是你们看起来吃力,空了再讲讲他就是了。

 

因此如今的话,你就能够跑起来代码了。

相关文章
相关标签/搜索