How do I create json file from plist file? How do I create json file from plist file? json json

How do I create json file from plist file?


Python has a module plistlib which you can use to read plist files. plistlib is available in python >= 2.6, so if you have old version you can get plistlib from here.

After reading plist as dict using plistlib.readPlist you can dump it as JSON using json.dumps, for that use json module or for old python version get simplejson

Here is an example:

plist = """<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict>    <key>aDict</key>    <dict>        <key>anotherString</key>        <string><hello hi there!></string>    </dict>    <key>aList</key>    <array>        <string>A</string>        <string>B</string>        <integer>12</integer>        <real>32.100000000000001</real>        <array>            <integer>1</integer>            <integer>2</integer>            <integer>3</integer>        </array>    </array>    <key>aString</key>    <string>Doodah</string></dict></plist>"""import jsonfrom plistlib import readPlistimport StringIOin_file = StringIO.StringIO(plist)plist_dict = readPlist(in_file)print json.dumps(plist_dict)

Output:

{"aList": ["A", "B", 12, 32.100000000000001, [1, 2, 3]], "aDict": {"anotherString": "<hello hi there!>"}, "aString": "Doodah"}


On OSX you can use the plutil command line tool:

plutil -convert json Data.plist

It isn't using one of those languages, but it saves you from implementing it yourself or messing with libraries.


Load the property list and get a dictionary out of it. Then using one of the many JSON frameworks, initialize a store-like object (an object that takes a dictionary as input) and write that out to a file. Should create your JSON just fine.