我使用 json.net 以解析对象,并将它们递送到我已经作出了web服务。的对象是LINQ的对象。当我访问此Web服务使用jQuery,它不能正确解析JSON。似乎有一些错误的格式..

在JSON串我得到,这是一个:

[{"typeid":1,
  "typename":"binders",
  "description":"test",
  "RESOURCEs":
    [{"resourceid":4,
      "resourcename":"Binders 1",
      "description":"Pakke med hele fire binders!!!",
      "typeid":1,
      "RESERVATIONLINEs":[]
     },    
     {"resourceid":10,
      "resourcename":"xxx",
      "description":"xxx",
      "typeid":1,
      "RESERVATIONLINEs":[]
     }
    ]
 },
 {"typeid":2,
  "typename":"blyant",
  "description":"også dyrt",
  "RESOURCEs":
    [{"resourceid":5,
      "resourcename":"Gråblyant 1",
      "description":"Fin og grå",
      "typeid":2,
      "RESERVATIONLINEs":[]
     },
     {"resourceid":6,
      "resourcename":"Rødblyant 1",
      "description":"Må spisses ofte",
      "typeid":2,
      "RESERVATIONLINEs":[]
     }
    ]
 },
 {"typeid":4,
  "typename":"Penn",
  "description":"tester",
  "RESOURCEs":
    [{"resourceid":7,
      "resourcename":"Penn 1",
      "description":"Blå og fin",
      "typeid":4,
      "RESERVATIONLINEs":[]
     },
     {"resourceid":11,
      "resourcename":"xxx",
      "description":"xxx",
      "typeid":4,
      "RESERVATIONLINEs":[]
     }
    ]
 },
 {"typeid":5,
  "typename":"Kajakk",
  "description":"Dette er en type båt",
  "RESOURCEs":
    [{"resourceid":1,
      "resourcename":"Havkajakk 1",
      "description":"FOr havbruk",
      "typeid":5,
      "RESERVATIONLINEs":[]
     },
     {"resourceid":2,
      "resourcename":"Havkajakk 2",
      "description":"For havbruk",
      "typeid":5,
      "RESERVATIONLINEs":[]
     }
    ]
 },
 {"typeid":6,
  "typename":"3G-modem",
  "description":"Fra NetCom",
  "RESOURCEs":
    [{"resourceid":3,
      "resourcename":"3G-modem 1",
      "description":"Gammelt og ustabilg",
      "typeid":6,
      "RESERVATIONLINEs":[]
     },
     {"resourceid":12,
      "resourcename":"xxx",
      "description":"xxx",
      "typeid":6,
      "RESERVATIONLINEs":[]
     }
    ]
 },
 {"typeid":7,
  "typename":"Minnepinne",
  "description":"på 1 KB",
  "RESOURCEs":
    [{"resourceid":8,
      "resourcename":"Minnepinne 1",
      "description":"1 KB (!)",
      "typeid":7,
      "RESERVATIONLINEs":[]
     },
     {"resourceid":9,
      "resourcename":"Minnepinne 2",
      "description":"20 PB",
      "typeid":7,
      "RESERVATIONLINEs":[]
     }
    ]
 }]

任何人都有一个线索,这是为什么不工作?

有帮助吗?

解决方案

这里的实际问题是,此JSON被嵌入在XML标签。 http://www.json.org:我通过使用该解析器解析JSON字符串的问题解决了/js.html

五言这是不理想的,在jQuery应该这样做对我来说,但直到我找到一种方法对.NET的Web服务返回的原始JSON字符串,而不是嵌入到XML标签,该解决方案的工作=)

其他提示

我想这是一个编码的问题,如果你从你的记录中删除这是什么?

"resourcename":"Rødblyant 1"

请确保您使用UTF-8两边的工作。我的猜测是,要么要使用的默认编码(像的Windows1252)编码串,或所述接收端是做类似的东西。

请记住,JSON必须为UTF-8,UTF-16(LE或BE),或UTF-32(LE或BE)。

要测试这一点,摆脱所有的åø人物,看看它是否工作。如果是这样,它肯定编码在一侧或其他。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top