使用java

时间:2017-04-13 14:20:32

标签: java json

我想从字符串中读取单个对象。这是我的输出字符串:

{\"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

有人可以帮我吗?

1 个答案:

答案 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);
    }
}