标识符名称有空格时如何parsingGSON

当文件看起来像这样的时候如何parsingGSON

{ "Person Id":"test", "Last Name": "test", "First Name":"test" } 

我知道parsing的时候名字之间没有空格,我创build类就像

 class Person{ public String PersonId; public String LastName; public String FirstName; } 

但是当标识符里面有空格时如何parsing? 在Person类中改变什么? (我不能改变文件的格式)。

  • org.json.JSONException:typesjava.lang.String的值<!DOCTYPE不能转换为JSONObject
  • 如何解决使用Android Lollipop中的注释Android Jacksonparsing期间IncompatibleClassChangeError?
  • 懒惰下载图像到gridView
  • 将json字符串转换为java对象?
  • jackson映射对象或对象的列表取决于JSONinput
  • 从Web服务器接收数据不起作用(排雷库android)
  • 在Java / Android中testing空的JSON对象
  • 使用Android上的GSON将JSONdate格式parsing为string
  • 我试图parsing这个JSON,但我没有使用GSON来parsing这个。 我将与您分享我的代码,请考虑只作为解决问题的补充解决scheme:

     String parse = "{\"Person Id\":\"test\",\"Last Name\": \"lname\",\"First Name\":\"fname\"}"; try { JSONObject jsonObject = new JSONObject(parse); String id = jsonObject.getString("Person Id"); System.out.println("id="+id); System.out.println("lname="+jsonObject.getString("Last Name")); System.out.println("fname="+jsonObject.getString("First Name")); } catch (JSONException e) { e.printStackTrace(); } 

    虽然仍然使用GSON,但可以通过添加注释来完成此操作。 例如:

     class Person{ @SerializedName("Person Id") public String PersonId; @SerializedName("Last Name") public String LastName; @SerializedName("First Name") public String FirstName; } 

    您可以在GSON文档中find更多详细信息: https : //sites.google.com/site/gson/gson-user-guide#TOC-JSON-Field-Naming-Support