小工具-生成json文件(py2.7)

原创 2015年11月18日 10:35:49
#!/usr/bin/env python
# coding=utf-8

import json
import os
import copy
from Tkinter import *
import tkFileDialog


def make_json():
    path = pathVar.get()
    if os.path.split(path)[1] != "resource":
        pathVar.set("路径错误,请重新选择")
        return 1
    groupname = "preload"
    data = dict()
    resources = []
    groups = []
    keys = []
    item_dic = dict()
    for file in os.listdir(path):
        if os.path.isdir(os.path.join(path,file)):
            for item in os.listdir(os.path.join(path, file)):
                name, tp = item.split(".")
                item_dic["name"] = name
                if tp in ("jpg","png"):
                    item_dic["type"] = "image"
                    keys.append(name)
                elif tp in ("mp3","ogg"):
                    item_dic["type"] = "sound"
                    keys.append(name)
                elif tp == "json":
                    item_dic["type"] = tp
                item_dic["url"] = os.path.join(file+"/"+item)
                resources.append(copy.copy(item_dic))
    groups.append(dict(name=groupname, keys=",".join(keys)))
    data["resources"] = resources
    data["groups"] = groups
    dump_path = os.path.join(path, "default.res.json")
    f = open(dump_path, "w")
    json.dump(data, f, indent=4)
    f.close()


def choice_fold():
    pathVar.set(tkFileDialog.askdirectory())
    width = len(pathVar.get())
    if width > 15:
        entry["width"] = len(pathVar.get())

root = Tk()
root.title("json生成器")
frame = Frame(root)
frame.pack(padx=5, pady=5, fill=BOTH)
pathVar = StringVar()
entry = Entry(frame, textvariable=pathVar, width=15)
choice_btn = Button(frame, text="选择", command=choice_fold)
makejson_btn = Button(frame, text="生成", command=make_json)
entry.grid(row=1, column=1, padx=(5, 0), sticky=(W, E))
choice_btn.grid(row=1, column=2, padx=(10, 5))
makejson_btn.grid(row=1, column=3, padx=5)
frame.columnconfigure(1, weight=1)
root.mainloop()

通用JSON数据生成器

在一个项目中通常会有很多数据是需要通过封装成JSON格式进行传输的,但是在封装JSON的过程中,不仅繁琐,而且也不美观,于是构建了一个JSON数据生成器,用户只需要定义好要传输数据类,然后通过调用封装...
  • zdavb
  • zdavb
  • 2016年03月06日 22:56
  • 3166

json文件转化工具

  • 2018年01月25日 15:56
  • 230KB
  • 下载

生成JSON数据

如果现在要想使用java生成JSON数据可以有两种做法: ①利用StringBuffer进行字符串数据的拼凑; ②为了简化开发,提供有JSON的生成工具包,并且这个工具包有一个最大的好处可以自动采...
  • u012737182
  • u012737182
  • 2016年10月07日 20:08
  • 1341

excel生成json工具

  • 2016年09月28日 16:07
  • 1.02MB
  • 下载

Json文件生成与解析--Gson工具类

一、json文件生成       Gson下载地址:http://code.google.com/p/google-gson/       1、简单json文件生成               首先...
  • u010758868
  • u010758868
  • 2014年02月09日 16:18
  • 1302

一个小工具根据json字符串自动创建模型类

由于xcode8不能安装插件,推荐一个小工具,根据json字符串创建模型类 自动判断类型 只会创建NSString和Bool类型和MJExtension完美结合 如果不想用xcode编译可直接下载完把...
  • itiapp_home
  • itiapp_home
  • 2016年12月01日 18:06
  • 2283

json文件生成与解析

生成: count = count + 1; Gson gson = new Gson(); String jsonStr = gson....
  • maple980326
  • maple980326
  • 2016年08月30日 09:20
  • 591

【图像语义分割】Label data的标注--Labelme(python)

图像语义分割是一种pixel-wise级的一种图像分类操作,其目的是在图像中上的同一个类别上打上相同的label,以表示这个类别是同一类。在训练自己的数据集中,语义分割最重要且最基础的一步便是对图像进...
  • shwan_ma
  • shwan_ma
  • 2017年09月03日 16:25
  • 2111

FCN制作自己的数据集、训练和测试全流程

**FCN制作自己的数据集、训练和测试全流程** 花了两三周的时间,在导师的催促下,把FCN的全部流程走了一遍,期间走了很多弯路,现在记录一下。系统环境:ubuntu 16.04LTS一、数据集的制...
  • zoro_lov3
  • zoro_lov3
  • 2017年07月06日 15:11
  • 5850

通用JSON数据生成器2

前几天写了一个通用JSON生成器,但是用着用着觉得意犹未尽,不是特别顺手。原因有二: 上个方法要求filed的域就是json数据中的域名称,这样很受限,特别是在发送给前端、或者JNI时,可能C语言的风...
  • zdavb
  • zdavb
  • 2016年03月12日 11:25
  • 909
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:小工具-生成json文件(py2.7)
举报原因:
原因补充:

(最多只允许输入30个字)