一部のタグが空になることがあるXMLファイルがあります。PHPを使用してこのファイルを読み取り、json_encodeを使用してエンコードすると、JSONはすべての空のタグを空のオブジェクトに変換しますが、空の文字列をそのまま使用します。この変換を停止/回避するための最良の方法は何ですか?
編集:私はこれらのタグをXMLから削除したくないのですが、私にとっては、特定のタグのないXMLエントリと、このタグが空のXMLエントリには違いがあります。
編集2:サンプル入力:
<Family>
<name>aaa</name>
<adults>3</adults>
<kids />
</Family>
キッズタグは空です
エンコード結果を次のように取得したい
Family[1].name = 'aaa';
Family[1].adults = 3;
Family[1].kids = '';
私が得ているのは:
Family[1].name = 'aaa';
Family[1].adults = 3;
Family[1].kids = Object(); //empty
EDIT3:
私の実装は非常に単純です:
PHPで
$xml = simplexml_load_file($filepath);
echo json_encode($xml, JSON_NUMERIC_CHECK);
JavaScriptで
objJson = $.parseJSON(xmlhttp.responseText);
....
d["name"] = objJson.Family[i].name;
d["adults"] = objJson.Family[i].adults;
d["kids"] = objJson.Family[i].kids;