冒号(:)内JSON数据使用GSON(colon (:) within JSON data usin

2019-10-30 20:07发布

我打电话返回JSON的Web服务。 内JSON我有一个持有URL的属性。 但是,冒号(:)该网址中正在GSON抛出一个gson.stream.MalformedJsonException错误。 我知道这些键和值应包

JSON返回由Web服务:

{
   ID=15; 
   Code=ZPFgNr; 
   UserName=https://www.google.com/accounts/o8/id?id=xxxxxx; //<--problem
   FirstName=Joe
}

我的Java:

resultData=((SoapObject) result).getProperty(0).toString();
User response = gson.fromJson(resultData, User.class);

我知道这些键和值应该用双引号。 但他们都没有了,这似乎是这个问题。

所以我的问题是:

我应该编码不知何故反序列化之前,这个JSON? 如果是这样,怎么样?

要么

我应该做一个查找和替换上https:和逃避结肠,如果是的话,我将如何逃脱结肠?

Answer 1:

JSON用逗号分隔的属性,结肠属性名称从属性值,和周围的名称双引号和分隔值。 这不是有效的JSON。

下面是有效的JSON:

{
   "ID" : "15", 
   "Code" : "ZPFgNr",
   "UserName" : "https://www.google.com/accounts/o8/id?id=xxxxxx",
   "FirstName" : "Joe"
}


文章来源: colon (:) within JSON data using Gson