Bu doğru bir json biçimi

4 Cevap php

Ben json biçimi hakkında adil bir fikir almak istiyorum ... Ben böyle json benim sonuç dizi çevirdim hangi php kullanıyorum

$result = mysql_query("select dStud_id,dMarkObtained1,dMarkObtained2,
                dMarkObtained3,dMarkTotal from tbl_internalmarkallot");
$JsonVar = json_encode($res);

echo "<input type='text' name='json' id='json' value ='$JsonVar'>";

Ve metin kutusu gösterir

{"0":"101","dStud_id":"101","1":"60","dMarkObtained1":"60","2":"80", "dMarkObtained2":"80","3":"80","dMarkObtained3":"80","4":"220","dMarkTotal":"220"}

Bu doğru bir json biçimidir ....

4 Cevap

Yani belirli bir dize geçerli bir JSON olduğunu. Ancak;

echo "<input type='text' name='json' id='json' value ='$JsonVar'>";

htmlspecialchars için bir çağrı eksik, bu nedenle değerlerden biri tek bir alıntı olacaksa olur, potansiyel XSS güvenlik açan, geçersiz JSON ve HTML-enjeksiyon sonuçlanan, bir kırık özelliği var delikleri.

HTML-kaçış HTML içine every metin dizesi çıktı, örneğin unutmayın.:

<input type="text" name="json" id="json" value="<?php echo htmlspecialchars($JsonVar); ?>">

ya da, HTML-özel karakterler bu adım için ihtiyaç kaçınarak, mevcut olmamasını sağlamak için PHP 5.3 JSON_HEX seçenekleri kullanabilirsiniz:

<?php $jsonVar= json_encode($res, JSON_HEX_TAG|JSON_HEX_QUOT|JSON_HEX_AMP); ?>
<input type="text" name="json" id="json" value="<?php echo $jsonVar; ?>">

Orada bir online JSON validator ve bunu geçerli bir JSON olduğunu sais. Eğer daha sık JSON kullanırsanız ben JSON View firefox eklenti tavsiye ederim.

http://json.parser.online.fr/ üzerine json çözümleyici bu geçerli json olduğunu söylüyor.

Doğru ama sen böyle bir şey kullanarak daha iyi konum:

<?php
  $myResultArray = array();
  $result = mysql_query("select dStud_id,dMarkObtained1,dMarkObtained2, dMarkObtained3,dMarkTotal from tbl_internalmarkallot");

  while ($row = mysql_fetch_array($result)) {
    static $i = 0;
    $myResultArray[$i] = $row;
    $i++;
  }

  $JsonVar = json_encode($myResultArray);

  echo '<input type="text" name="json" id="json" value="'.$JsonVar.'">';
?>