JSON格式问题?

时间:2011-04-15 14:58:30

标签: json

我正在调试一个生成JSON的perl模块以及我对JSON的了解,你可能适合顶针。 JSON就在这里......

xvarStore_json = {
     identifier: 'name',
     label: 'name',
     items: [
          {name: "CR_Local_ID"} ,
          {name: "CR_Patient_ID"} ,
          {name: "test("MEDICARE PART B","xvar:X_Primary_Payer","1","1")"} 
            ]
};

我在Firebug中遇到的错误是..

missing } after property list
    {name: "test("MEDICARE PART B","xvar:X_Primary_Payer","1","1")"}

如果这不是一个紧急修复,我会很乐意花时间学习JSON。有没有人知道出了什么问题?

珍妮

3 个答案:

答案 0 :(得分:3)

虽然我同意@ matt-ball的答案,但我认为这不是问题。问题是这一行:

{name: "test("MEDICARE PART B","xvar:X_Primary_Payer","1","1")"}

您需要在实际值中转义引号:

{name: "test(\"MEDICARE PART B\",\"xvar:X_Primary_Payer\",\"1\",\"1\")"}

答案 1 :(得分:1)

那不是JSON;它是JavaScript object literal。有一个非常重要的区别。

语法突出显示消除了问题:您正在尝试在由双引号分隔的字符串中使用双引号,因此字符串会提前结束。只需使用单引号来分隔字符串。

{name: 'test("MEDICARE PART B","xvar:X_Primary_Payer","1","1")'}

只是为了说清楚,there's no such thing as a "JSON object."

答案 2 :(得分:0)

发出未终止的引号:

替换为{name:“test(”MEDICARE PART B“,”xvar:X_Primary_Payer“,”1“,”1“)”}和

{name: "test('MEDICARE PART B','xvar:X_Primary_Payer','1','1')"}  

您的JSON对象应如下所示:

xvarStore_json = {
         identifier: 'name',
         label: 'name',
         items: [
              {name: "CR_Local_ID"} ,
              {name: "CR_Patient_ID"} ,
              {name: "test('MEDICARE PART B','xvar:X_Primary_Payer','1','1')"}   
                ]
    };