将json文件转换为mac中的plist

时间:2013-05-30 12:08:23

标签: json macos plist

是否有命令行工具可以让我这样做?我尝试了plutil,但这不起作用。我认为plutil只能转换plist(或二进制plist)格式的文件。

1 个答案:

答案 0 :(得分:0)

如果您对一个非常小的Cocoa应用程序感到满意,那么可以生成这个,可以使用很多代码。

或者,

您可以使用此python script

#!/usr/bin/env python

import plistlib
import json
import tkFileDialog
import re
import sys

file_to_open = tkFileDialog.askopenfilename(message="Select an existing plist or json file to convert.")
converted = None

if file_to_open.endswith('json'):
    converted = "plist"
    converted_dict = json.load(open(file_to_open))
    file_to_write = tkFileDialog.asksaveasfilename(message="Select a filename to save the converted file.",
                                                   defaultextension = converted)
    plistlib.writePlist(converted_dict, file_to_write)
elif file_to_open.endswith('plist'):
    converted = "json"
    converted_dict = plistlib.readPlist(file_to_open)
    converted_string = json.dumps(converted_dict, sort_keys=True, indent=4)
    file_to_write = tkFileDialog.asksaveasfilename(message="Select a filename to save the converted file.",
                                                   defaultextension = converted)
    open(file_to_write, 'w').write(converted_string)
else:
    print("WHAT THE F*** ARE YOU TRYING TO DO??????")
    sys.exit(1)