首页 > python中的稍复杂的json遍历问题

python中的稍复杂的json遍历问题

1.问题描述:
我有以下两个model(简写):

#销售订单
def SalesOrder(models.Model):
    id = models.AutoField(primary_key=True)  #主键,自增长
    user = models.ForeignKey(Users) #所属用户
    so_num = models.CharField(max_length=50)  #订单号  自动生成
    so_cust = models.ForeignKey(Customer) #对应客户
    so_creattime = models.DateField(default=timezone.now()) #订单创建时间

def Orderline(models.Model):
    id = models.AutoField(primary_key=True)     #主键,自增长,用来删除销售行
    sl_so = models.ForeignKey(SalesOrder) #所对应的销售订单
    sl_prod = models.ForeignKey(Product) #销售行中的产品
    sl_quanity = models.IntegerField() #交易产品数量
    sl_price = models.FloatField()   #交易价格(单价)

现在从客户端传来的数据是一组json数据(经过json.loads()解析后数据如下):

{
"cust":"jason","date":"2016-03-10",
"orderlines":[
    {"name":"item1","price":2000,"quantity":41},  
    {"name":"item2","price":134,"quantity":13}]
}:

在遍历的时候遇到了小困惑,我想将其中的数据解析出来,并赋值给不同的model对象。
最后应该要有这样的格式:

salesorder=SalesOrder(cust=jason,date='2016-3-10',......)
orderlines=[]  #放orderline数组
line1=OrderLine(name=item1,price=2000,quanity=41)
line2=OrderLine(name=item2,price=134,quanity=13)
#以上就是解析出来应该有的效果

现在我这个小菜鸟遇到了解析的问题:
首先从dict中 循环出来 for k in _so_dict
然后最后那个dict[’orderlines‘]又是list类型:
然后list中每个元素又是dict类型,

尝试很多次 都没能完美解析出来,求各位大大给个思路,小弟先说声谢谢,嘿嘿

是我想得太复杂,最后还是由Key指定获取value来的。
在orderlines遍历就行了,遍历的时候动态添加到orderline的list中就好了.


问题都没表述清楚。

【热门文章】
【热门文章】