0

PHPでフィールド名に二重引用符がないJSONを解析する方法

これは、私が受け取ったそのような JSON の例です....

[{meta_data: [{name: "HANDLE", value: "2"}], compound: { name: "Numeric", entries: [{meta_data: [{name: "partition", value: "2"}, {name: "metric-id", value: "18474"}, {name: "unit-code", value: "2720"}, {name: "unit", value: "bpm"}], simple: {name: "Basic-Nu-Observed-Value", type: "float", value: "72.000000"}}, {compound: { name: "Absolute-Time-Stamp", entries: [{simple: {name: "century", type: "intu8", value: "20"}}, {simple: {name: "year", type: "intu8", value: "12"}}, {simple: {name: "month", type: "intu8", value: "4"}}, {simple: {name: "day", type: "intu8", value: "11"}}, {simple: {name: "hour", type: "intu8", value: "3"}}, {simple: {name: "minute", type: "intu8", value: "10"}}, {simple: {name: "second", type: "intu8", value: "26"}}, {simple: {name: "sec_fractions", type: "intu8", value: "0"}}] }}] }}] 
4

2 に答える 2

1

「」なしでは有効なJSONではないため、手動で。要件にデータをJSON形式で交換する必要があると記載されている場合、問題があるのはJSONを提供するアプリ/人の問題ではありません。それらにプッシュバックしてもらいます彼らの側で問題を修正してください。

ベア 言います:

私は彼らのために修正しています:) thx

では、必ずしもそれを消費する部分ではなく、JSON を生成するアプリの部分を修正する必要があります (json_decode消費側で標準を使用していると仮定します)。その場合、最初の質問は本当に無関係になり、コードを修正して適切な JSON を生成する最善の方法について新しい質問を投稿する必要がある場合とない場合があります。

于 2012-04-11T03:24:25.820 に答える
0

これはあなたが探しているものですか?私はfirebugでこれを試しました。

obj = [{meta_data: [{name: "HANDLE", value: "2"}], compound: { name: "Numeric", entries: [{meta_data: [{name: "partition", value: "2"}, {name: "metric-id", value: "18474"}, {name: "unit-code", value: "2720"}, {name: "unit", value: "bpm"}], simple: {name: "Basic-Nu-Observed-Value", type: "float", value: "72.000000"}}, {compound: { name: "Absolute-Time-Stamp", entries: [{simple: {name: "century", type: "intu8", value: "20"}}, {simple: {name: "year", type: "intu8", value: "12"}}, {simple: {name: "month", type: "intu8", value: "4"}}, {simple: {name: "day", type: "intu8", value: "11"}}, {simple: {name: "hour", type: "intu8", value: "3"}}, {simple: {name: "minute", type: "intu8", value: "10"}}, {simple: {name: "second", type: "intu8", value: "26"}}, {simple: {name: "sec_fractions", type: "intu8", value: "0"}}] }}] }}] 

console.log(obj[0].meta_data);

出力

[Object { name="HANDLE", value="2"}]
于 2012-04-11T03:24:01.077 に答える