我正在使用.json文件,我有以下功能:
class InnerSerializer(serializers.ModelSerializer):
class Meta:
model = Inner
fields = ('x', 'y')
class CostumeSerializer(serializers.ModelSerializer):
inner = InnerSerializer()
class Meta:
model = MyModel
fields = ('code', 'inner')
def create(self, validated_data):
inner = validated_data.pop('inner')
return MyModel.objects.create(inner_x=inner.get('x', None), inner_y=inner.get('y', None), **validated_data)
每当我运行使用该函数的代码时,我都会收到以下错误:
致命错误:不能将stdClass类型的对象用作...中的数组
答案 0 :(得分:2)
json_decode 的第二个参数默认为 false ,这意味着它会生成一个对象。使用 true 生成数组。
错误来自$json[$username]
,您将 $ json 作为数组访问。当它是一个对象时,您可以像访问它一样访问它:$json->$username
。