(转载) 游戏策划的excel配置表转成json文件(二)

使用python工具将excel生成的json文件,可以用在很多语言里,比如objective-c, C++,lua,javascript等等,来为游戏关卡配置数据。

如果是选择的lua语言,这个json文件还不能直接使用。因为json文件里只是json格式的字符串,需要先转换成lua里的数据格式:table。

将json文件转成table,需要利用第三方类库CJSON,代码如下:

[cpp] view plaincopy

  1. function tableFromFile (fileName )
  2. local t
  3. local jsonString
  4. local path = CCFileUtils:sharedFileUtils():fullPathForFilename(fileName)
  5. local myfile = io.open(path,"r")
  6. if myfile == nil then
  7. return nil
  8. end
  9. jsonString = myfile:read("*a")
  10. t = self.cjson.decode(jsonString)
  11. serialise_value(t)
  12. --print(table.entities[1].entity.HP)
  13. myfile.close()
  14. return t
  15. end

比如json文件是这样的:

[cpp] view plaincopy

  1. {
  2. "entities": [
  3. {
  4. "entity": {
  5. "carryRound": -1.0,
  6. "target": "",
  7. "additionValue": "",
  8. "updateCondition": "",
  9. "reduction": "",
  10. "name": "普通物攻",
  11. "job": "",
  12. "gank": -1.0,
  13. "effect": "",
  14. "type": 2.0,
  15. "id": 0.0,
  16. "round": "",
  17. "desc": ""
  18. }
  19. },
  20. ]
  21. }

转成table后就可以类似这样使用

[cpp] view plaincopy

  1. local data = tableFromFile("xxx.json")
  2. print(data.entities[1].entity.name )

原文地址:http://blog.csdn.net/zhuangyou123/article/details/10069391

时间: 2024-10-09 13:12:10

(转载) 游戏策划的excel配置表转成json文件(二)的相关文章

(转载) 游戏策划的excel配置表转成json文件(一)

游戏客户端里一般无法读取策划写的excel配置表,需要先转成可以用的格式,例如json,xml格式. 我用到的工具是python脚本,python脚本的强大就在这不提啦,各种牛X的成熟库... 执行脚本如下: [cpp] view plaincopy import os import sys import codecs import json from xlrd import open_workbook # "<type 'unicode'>" # "<ty

【游戏开发】Excel表格批量转换成lua的转表工具

一.简介 在上篇博客<[游戏开发]Excel表格批量转换成CSV的小工具> 中,我们介绍了如何将策划提供的Excel表格转换为轻便的CSV文件供开发人员使用.实际在Unity开发中,很多游戏都是使用Lua语言进行开发的.如果要用Lua直接读取CSV文件的话,又要写个对应的CSV解析类,不方便的同时还会影响一些加载速度,牺牲游戏性能.因此我们可以直接将Excel表格转换为lua文件,这样就可以高效.方便地在Lua中使用策划配置的数据了.在本篇博客中,马三将会和大家一起,用C#语言实现一个Exce

C#.net word excel powerpoint (ppt) 转换成 pdf 文件

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms; using Word = Microsoft.Office.Interop.Word;using Excel = Microsoft.Office

如何将数据库中的表导成XML文件

1.现将数据库中的信息读到DataTable中 2.用函数将DataTable转为string private string ConvertDataTableToXML(DataTable dt) { if (dt != null) { MemoryStream ms = null; XmlTextWriter XmlWt = null; try { ms = new MemoryStream(); XmlWt = new XmlTextWriter(ms, Encoding.Unicode);

iis配置js支持读取json文件配置

默认情况下,iis不支持解析.json文件,这就需要我们自己在iis下配置方法一:iis配置1.点击开始菜单选择控制面板: 2.控制面板内点击管理工具,选择Internet信息服务(IIS)管理器. . 3.点击MIME类型4.操作内点击“添加...”文件扩展名:.jsonMIME类型:application/json.. 点击“处理程序映射”操作内选择“添加脚本映射”请求路径为:*.json,可执行文件:C:\WINDOWS\system32\inetsrv\asp.dll名称:JSON 以上

cocos2d-x 读取CSV文件,读取本地Excel配置表的方法

//CSVReader.h #define MAP_LINE std::map<std::string, std::string> //key为首行字符串, value为此列字符串 #define MAP_CONTENT std::map<int, MAP_LINE> //key为code, value为一行map #define VEC_MAP std::vector<std::pair<std::string, int>> //csv文件读取器 clas

【游戏开发】Excel表格批量转换成CSV的小工具

一.前言 在工作的过程中,我们有时可能会面临将Excel表格转换成CSV格式文件的需求.这尤其在游戏开发中体现的最为明显,策划的数据文档大多是一些Excel表格,且不说这些表格在游戏中读取的速度,但就论占用内存来说,同样的数据量Excel表格所占用的内存要远远大于CSV,因此将Excel转换成CSV势在必行.如果单单转换一个Excel表格还好,直接另存为就搞定的,但是如何将一个文件下的N个Execl表格转成CSV呢?今天马三就来和大家一起用Python撸一个Excel表格批量转换CSV的小工具—

【转载】iOS麦克风录制音频并保存成mp3文件的Demo

转自 tusm 写的一个录屏Demo,在此贴下Demo的源代码方便使用 使用的是AVFoundation 录制后麦克风输入的音频,录制结束后将数据转成了mp3格式并保存成文件 // // ViewController.m // AudioDemo // // Created by tusm on 15/2/14. // Copyright (c) 2015年 tusm. All rights reserved. // #import "ViewController.h" #import

我的游戏服务器类库 -- 配置表及其搜索算法

配置表 想必所有的游戏服务器都要用到配置表,配置表可能来自于文件(Excel.XML.JSON等)或者数据库,但为了避免频繁访问磁盘文件或数据库,最终都会在服务器启动时读到内存里.配置表一般由很多行组成,每一行有一个唯一ID.在游戏逻辑中,可以根据ID来查找某项配置.由于每一个游戏服务器都要写类似的逻辑,所以我把它们抽象出来,加到了我的GitHub项目里. 配置项 没有对配置表项做更多的假设,只要求它有一个唯一ID: public interface Config { public int ge