向JSON文件添加对象

brtdzjyr  于 2023-06-25  发布在  其他
关注(0)|答案(3)|浏览(102)

将对象附加到嵌入在json文件中的现有字典中。
我有一个json示例文件,我正在使用下面的代码阅读。请在这里检查代码和示例json文件。

with open('sample.json') as fp:
  dictObj = json.load(fp)
{
    "versions" : [
        {
            "version" : "0.0",
            "termsTranslations" : {
                "en" : "my rev"
            },
            "createDate" : "2019-10-28T04:20:11.320Z"
        }
        ]
         "active" : "0.3",
        "uiConfig" : {
            "displayName" : "We've updated our terms",
            "purpose" : "You must accept the updated terms in order to proceed.",
            "buttonText" : "Accept"
        }
        
}

我打算将下面构造的名为newobj的对象添加到sample.json文件中,其值如下(具有阿拉伯文本)。

{'version': 0.4, 'termsTranslations': '{"ar": "<p dir="rtl"align="right">يرجى قراءة التعليم</p>","createDate": "2023-06-20T12:32:22Z"}'

生成的sample.json文件应该如下所示:

{
    "versions" : [
        {
            "version" : "0.0",
            "termsTranslations" : {
                "en" : "my rev"
            },
            "createDate" : "2019-10-28T04:20:11.320Z"
        },
        {'version': 0.4, 
                'termsTranslations': '{"ar": "<p dir="rtl"align="right">يرجى قراءة التعليمات الهامة التالية والشروط والأحكام قبل التسجيل في خدمة ساب نت والساب موبايل</p>',
                'createDate': '2023-06-20T12:32:22Z'}
        ]
        "active" : "0.3",
        "uiConfig" : {
            "displayName" : "We've updated our terms",
            "purpose" : "You must accept the updated terms in order to proceed.",
            "buttonText" : "Accept"
        }
        
}

有没有一种方法可以在Python中使用任何库来实现这一点?

3j86kqsm

3j86kqsm1#

你只需在列表中添加

dictObj['versions'].append(new_version)
mwkjh3gx

mwkjh3gx2#

在阅读JSON文件后,您可以执行以下操作:

newVersion = {'version': 0.4, 'termsTranslations': {'ar': '<p dir="rtl"align="right">يرجى قراءة التعليم</p>','createDate': '2023-06-20T12:32:22Z'}
dictObj['versions'].append(newVersion)
with open("sample.json") as fp:
    fp.write(json.dumps(dictObj))
rks48beu

rks48beu3#

添加它将是:

dictObj['versions'].append(newobj)

我建议您替换&#x22;的双引号:浏览器将读取它们没有问题。特别是如果你需要一个有效的JSON:JSON格式不接受APOSTROPHE而不是QUOTATION MARK(see)。
最后的JSON应该是这样的:

{
    "versions": [
        {
            "version": "0.0",
            "termsTranslations": {
                "en": "my rev"
            },
            "createDate": "2019-10-28T04:20:11.320Z"
        },
        {
            "version": 0.4,
            "termsTranslations": "{&#x22;ar&#x22;: &#x22;<p dir=&#x22;rtl&#x22;align=&#x22;right&#x22;>يرجى قراءة التعليمات الهامة التالية والشروط والأحكام قبل التسجيل في خدمة ساب نت والساب موبايل</p>",
            "createDate": "2023-06-20T12:32:22Z"
        }
    ],
    "active": "0.3",
    "uiConfig": {
        "displayName": "We've updated our terms",
        "purpose": "You must accept the updated terms in order to proceed.",
        "buttonText": "Accept"
    }
}

你在字典后面也有一个错别字。没有逗号。

相关问题