波括弧({と})で囲まれた「カンマ区切りのJSONデータ」をJSONデータの配列として取得する

インプットとなるデータの形式は次。

JSONデータ1,JSONデータ2,JSONデータ3,・・・・,JSONデータN

それぞれのJSONデータは次の形式。

{"key1":"value1","key2":"value2"}

つまり具体的には次のような形式のデータがインプットとなる(今回これは文字列でtargetStrという変数としておく)。

{"key11":"value11","key12":"value12"},{"key21":"value21","key22":"value22"},{"key31":"value31","key32":"value32"},・・・・,{"keyN1":"valueN1","keyN2":"valueN2"}

さて、カンマで区切られたそれぞれのJSONデータ(例えば{"key11":"value11","key12":"value12"})は、pythonで次のように書くとdictionaryに変換可能。
※)JSONデータの両端を「'」で囲んで文字列にしていることに注意

json.loads('{"key11":"value11","key12":"value12"}')

これらのJSONデータのリストは、関数getJsonPairListを作成して次のようにして取得。

targetStr = '{"key11":"value11","key12":"value12"},{"key21":"value21","key22":"value22"},{"key31":"value31","key32":"value32"},・・・・,{"keyN1":"valueN1","keyN2":"valueN2"}'
jsonPairList = getJsonPairList(targetStr, 0, [])

def getJsonPairList(targetStr, searchStartIndex, resultList):
    if searchStartIndex<len(targetStr):
        startIndex  = targetStr.find("{", searchStartIndex)
        endIndex    = targetStr.find("}", searchStartIndex)
        resultJson = "{" + targetStr[startIndex+1 : endIndex] + "}"
        resultList.append(resultJson)

        searchStartIndex = endIndex+1
        return getJsonPairList(targetStr, searchStartIndex, resultList)
    else:
        return resultList

targetStr.split(",")などとしてsplitして作成する方法も考えたが、valueが[1,2,3,・・・,M]の形式なので止めた。
targetStr.split("},")とすれば出来ないことは無いが、再帰で書こうと思ったので、いったんこれでメモ。
今回の自分の用途にはこれで良い。。。