Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在mac中将json文件转换为plist_Json_Macos_Plist - Fatal编程技术网

在mac中将json文件转换为plist

在mac中将json文件转换为plist,json,macos,plist,Json,Macos,Plist,有没有一个命令行工具可以让我这样做?我试过plutil,但没用。我认为plutil只能从plist(或二进制plist)格式转换文件。如果你对一个非常小的Cocoa应用程序感到满意,那么就可以生成这个,有很多代码可用 或者 您可以使用以下python: #!/usr/bin/env python import plistlib import json import tkFileDialog import re import sys file_to_open = tkFileDialog.as

有没有一个命令行工具可以让我这样做?我试过plutil,但没用。我认为plutil只能从plist(或二进制plist)格式转换文件。

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

或者

您可以使用以下python:

#!/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)