Json isteği kodlayan Sorunları

2 Cevap php

Ben elle istemciye göndermek için bir Json dizesi oluşturmak için deneyin.

{'result':'hhh'}

Ben kullandığınızda

echo json_encode(array('result'=>'hhh'));

It arrives perfectly. But when I do

echo "{'result':'hhh'}";

Öyle değil

I iki istek arasında bulmak tek fark ilk sahip olmasıdır:

Content-Length: 9    header

ve (çalışmıyor), ikinci bir

Content-Length: 16   header

Her iki dizeleri içerik uzunluğu olmalıydı: 16! Ben bunu ZF ve Mootools kombinasyonu ile ilgisi sanırım.

2 Cevap

Özelliklerine göre, JSON anahtar adları ve string değerler çift tırnak gerektirir.

echo json_encode(array('result'=>'hhh'));

çıktısı

{"result":"hhh"}

Bu çıkış uzunluğu, aşağıdaki gösterildiği gibi 16 bayttır:

echo strlen(json_encode(array('result'=>'hhh')));

çıkışları "16".

Ancak el ile sunulduğunda özellikleri bir özel başarısız ya da atacağım izleyen herhangi bir json dekoder JSON yankılandı.

Bu olması problems UTF-8 UTF-8 gibi çok ile bunun için standart kodlama değildir. Json_encode () sizin için transcoding oysa sen, sonları farklı bir kodlama düzeni, bir şey yankılanan konum gibi geliyor.