{'product_info': [{'pid': '1', 'product_type': '2'}]}
{'product_info': [{'pid': '2', 'product_type': '2'}]}
{'product_info': [{'pid': '3', 'product_type': '2'}]}
{'product_info': [{'pid': '4', 'product_type': '2'}]}
{'product_info': [{'pid': '5', 'product_type': '2'}]}
{'product_info': [{'pid': '6', 'product_type': '2'}]}
{'product_info': [{'pid': '7', 'product_type': '2'}]}
{'product_info': [{'pid': '8', 'product_type': '2'}]}
{'product_info': [{'pid': '9', 'product_type': '2'}]}
{'product_info': [{'pid': '10', 'product_type': '2'}]}
它就像这次打击一样返回十个结果
with open('sylist.json', 'w') as outfile:
json.dump(r.json(), outfile, indent=4)
然后我想将生成的10行保存到json文件中,如下面的代码所示:
<div *ngIf="currentList.length > 0; else nodata" id="outerContainer">
<div id="listContainer">
<div class="listItem" *ngFor="let list of currentList | listFilter : listfilterChar" (click)="openContactList()">
<div class="listInfo">
<h3>
{{list.Name}}
</h3>
</div>
</div>
<div id="alphabetContainer">
<p *ngFor="let letter of alphabetArray">
<span class="alphabetContainer" (click)='setListFiltercharacter($event)'>{{letter}}</span>
</p>
</div>
</div>
但只有一个结果保存到本地的json文件中,谁可以帮我解决,非常感谢
答案 0 :(得分:2)
以典型的方式,尝试以下方式逐行写入结果,而不是每次打开/关闭文件。
with open('sylist.json', 'a+') as outfile:
for i in range (1,n_index+1):
link = base_link+str(i)
r = requests.get(link)
outfile.write("{}\n".format(json.dump(r.json(), outfile, indent=4)))
答案 1 :(得分:0)
让我稍微扩展弗兰克的回答。 您正在for循环中发送请求,这意味着在循环的每次迭代中, pid 的值都会被覆盖。因此,当您要将其内容转储到输出文件时, pid 仅包含最后一次迭代/请求中的内容。我建议您应用以下其中一项来解决您的问题:
您不必每次都覆盖 pid 的内容,而是直接将其附加到for循环中,如下所示:
my_list = []
for i in range (1,n_index+1):
link = base_link+str(i)
r = requests.get(link)
pid = r.json()
my_list.append(pid)
with open('sylist.json', 'w') as outfile:
json.dump(my_list, outfile, indent=4)