1

私はのような隠された入力フィールドを持っています

<input type="hidden" name="product-data" value="{Product: 'Premium', Code: 'ER412', SalesCode: 'SC415', Description: 'Premium Product Details'}" />

ボタンをクリックすると、この値をJSONオブジェクトに変換しようとしていますが、エラーが発生します。これが私のjsコードです

$('.icon-edit').live('click', function(){

        var data = $(this).parent().siblings('input').val();
        data = jQuery.parseJSON(data); // <--- Here I am getting error
        //do something with data

    });

エラー:

SyntaxError: JSON.parse: expected property name or '}'
4

1 に答える 1

4

JSONプロパティ名は文字列であり、JSON文字列は文字で区切られ"ます。

プロパティ名は識別子であり、文字列値がある場合は、それらをで区切ります'。これはJavaScriptオブジェクトリテラルには問題ありませんが、JSONには問題ありません。

<input 
    type="hidden" 
    name="product-data" 
    value="{&quot;Product&quot;: &quot;Premium&quot;, &quot;Code&quot;: &quot;ER412&quot;, &quot;SalesCode&quot;: &quot;SC415&quot;, &quot;Description&quot;: &quot;Premium Product Details&quot;}" 
/>

(HTML属性値をで区切り、その中で'リテラルを使用することもできます"

于 2012-10-26T08:18:16.053 に答える