将带空格的字符串转换为json

时间:2015-01-23 13:16:37

标签: java android json

我对文本有问题,我把它作为服务器响应。我想把它写成共享偏好。但它会抛出异常,因为有空格和一些空值的键。

名称= Ali K,picture =,

    String jsonStr="{IsEmailSubscription=true, Name=Ali K,picture=, 
Id=2534, Surname=Murat, Email=Email}";

    JSONObject obj = new JSONObject(jsonStr);
    settings.edit().putString(SharedText.Customer.toString(),obj.toString()).commit();

你有什么建议......?

编辑1:

  org.json.JSONException: Unterminated object at character 39 of 

{IsEmailSubscription=true, Name=Ahmet k, Id=2534, Surname=Kosen, 

MobilePhone=5363481189, Email=Email}

服务器返回我的字符串,但我需要将其转换为 JSON,todo我使用JSONObject。

2 个答案:

答案 0 :(得分:3)

您的JSON无效,您从哪个服务器获取此信息?你自己的?

它应该是这样的:

String jsonStr="{\"IsEmailSubscription\": true, \"Name\": \"Ali K\", \"picture\": \"\", \"Id\": 2534, \"Surname\": \"Murat\", \"Email\": \"Email\"}";

答案 1 :(得分:0)

正如您所定义的两个问题:

  1. 您的JSON格式不正确,正如其他人所指出的那样。
  2. 要从JSON对象获取可选字段,可以使用JSONObject中存在的optIntoptString种API。 json字符串的正确格式应为:

    String jsonStr =" {IsEmailSubscription = true,Name =' Ali K',picture ='',Id = 2534,Surname = Murat,Email = Email} &#34 ;;

相关问题