我想从字符串中读取单个对象。这是我的输出字符串:
{\"session\": {\"application_id\":\"xxxx\",\"nonce\":\"xxxxx\",\"user_id\":\"xxxxx\",\"created_at\":\"xxxxx\",\"token\":\"xxxx\",\"id\":\"xxx\"}}
我想得到"令牌"从这个字符串。我该怎么读? 我曾尝试使用以下代码:
JSONObject element = new JSONObject(<string object i.e. response>);
String token = object.getString("token");
但是低于错误:
constructor JSONObject in class JSONObject cannot be applied to given types;
required: no arguments
found: String
reason: actual and formal argument lists differ in length
有人可以帮我吗?
答案 0 :(得分:1)
您可能使用了错误的导入。 您似乎使用com.google.gson.JSONObject代替org.json.JSONObject。
编辑:
此外,您的代码是错误的。您需要element.getJSONObject("session").getString("token")
而不是object.getString("token")
编辑: 由于OP在这里仍然存在一些问题:
import org.json.JSONObject;
public class JsonTest
{
public static void main( String[] args )
{
String json = "{\"session\": {\"token\":\"xxxx\"}}";
JSONObject jObject= new JSONObject(json);
String token = jObject.getJSONObject("session").getString("token");
System.out.printf("Token %s" , token);
}
}