我正在尝试以 HTML 表单显示 JSON 文档,将其分解为单独的输入项,允许修改,然后将其转换回 JSON 文档。
首先,我使用data = json.load(json_data)
将文档转换为对象,然后传递data
给模板,在模板中访问其属性,如下所示<input type="hidden" name="countries" value="{{ data.countries }}">
:
一旦发布回我doc = json.dumps(request.POST)
用来将其序列化回 JSON 的视图。这适用于所有条形数组:"countries": "[u'US']"
,它应该看起来像:"countries": ['US']
我可以使用字符串操作来清理它,但有更好的方法吗?
view.py(剥离了数据库代码)
def addProducts(request):
if request.POST:
doc = json.dumps(request.POST)
return HttpResponseRedirect('/add_product')
json_data = open('items.json')
data = json.load(json_data)
return render("add_products.html", {
"products": data,
}, context_instance=RequestContext(request))
doc
最终成为一个字符串:
{"doc_type": "Product", "countries": "[u'US']"}
原始数据items.json
:
{"doc_type": "Product", "countries": ["US"]}