«SyntaxError: JSON.parse: неожиданный символ в строке 1 столбца 2 данных JSON». Каналы Django - PullRequest
0 голосов
/ 01 июля 2019

Я получаю эту ошибку, когда пытаюсь получить доступ к объекту массива json, отправленному потребителем (каналы) "SyntaxError: JSON.parse: неожиданный символ в строке 1 столбца 2 данных JSON"

async def websocket_connect(self,event):
    print("connected",event)
    #here i am calling the function which returns the json array
    data=self.get_obj()
    await self.send({
        "type":"websocket.accept"
        # this is the json data array  i am sending to my template
        "text":json.dumps(data)


    })
    )



#this function will return a json array when called
def  get_obj(self):

    objects = modelname.objects.all()
    content={
            'objs':self.objs_to_json(objects)
             }
    return content


def objs_to_json(self,objects):
#this is my json array
    result=[]
    for objs in objects:
        result.append(self.objects_to_json(objs))

def objects_to_json(self,objs):
   return {
           'name':objs.name,
            'date':objs.str(objs.date),
            }

/ * ниже в моем шаблоне есть функция скрипта, подобная этой, для получения данных json * /

socket.onmessage=function(e){
var data =JSON.parse(e.data);
for (var i=0;i<data.content.length;i++){
    var counter=data.content[i]
    console.log("here")
}
}
</script>

Я пробовал это, но получаю ошибку

1 Ответ

0 голосов
/ 02 июля 2019

У меня есть решение моего вопроса

async def websocket_connect(self,event):
print("connected",event)
#here i am calling the function which returns the json array
data=self.get_obj()
await self.send({
    "type":"websocket.accept"
    # this is the json data array  i am sending to my template
    "text":json.dumps({'content':data})


})

)

#this function will return a json array when called


def  get_obj(self):
    objects = modelname.objects.all()
    result=[]
    for objs in objects:
    result.append({'name':objs.name,'thread':objs.thread})
    return result

в моем шаблоне

socket.onmessage=function(e){
var data =JSON.parse(e.data);
for (var i=0;i<data.content.length;i++){
var counter=data.content[i]
console.log("here")
}

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...