为什么在JsonResponse中使用非字典对象很糟糕?

时间:2019-04-17 14:23:54

标签: python json django

默认情况下,Django的JsonResponse类不允许数组等非字典对象。我看过documentation,但是它从没有解释为什么这样做会不安全或不希望这样做。

仅使用dict对象是否有充分的理由?我发现了有关old security vulnerabilities的一些信息,但据我所知,现在所有这些都已修复。

1 个答案:

答案 0 :(得分:0)

据我所知,这只是非标准的。 JSON是JavaScript Object 表示法,因此可以预期JSON响应会是JavaScript对象。大多数HTTP库都期望<ListView Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ItemsSource="{Binding SelectedItem.listElement}" SelectedItem="{Binding SelectedItem}"> <ListView.ItemContainerStyle> <Style TargetType="ListViewItem"> <Setter Property="HorizontalContentAlignment" Value="Stretch" /> </Style> </ListView.ItemContainerStyle> <ListView.ItemTemplate> <DataTemplate> <ContentControl> <i:Interaction.Triggers> <i:EventTrigger EventName="MouseDoubleClick"> <i:InvokeCommandAction Command="{Binding DataContext.HandleDoubleClickCommand, RelativeSource={RelativeSource AncestorType=UserControl}}"/> </i:EventTrigger> </i:Interaction.Triggers> <WrapPanel Background="Transparent"> <TextBlock Text="Data: " Margin="12"><Run FontWeight="Light" Text="{Binding data}"/></TextBlock> </WrapPanel> </ContentControl> </DataTemplate> </ListView.ItemTemplate> </ListView> 响应之外的对象,并且可能无法解析您的数组响应,具体取决于实现方式。