JSON.stringify in java - android

2022-09-01 14:13:48

有没有办法在机器人中执行?JSON.stringify

我一直在网络上看到,但我在Android中找不到JSON类。JSON.stringify(JSONObject)

有什么帮助吗?


答案 1

JSON.stringify(JSONObject)是一个 Javascript 函数,在 Java 中不可用。如果您使用的是 Android SDK 中构建的程序包,则等效方法是简单地调用您的实例,或者更人性化的实例。org.json.*toString()JSONObjecttoString(int)

http://developer.android.com/reference/org/json/JSONObject.html#toString() http://developer.android.com/reference/org/json/JSONObject.html#toString(国际)

JSONObject obj = ...
String jsonString = obj.toString(4);

答案 2

我知道这已经很老了,但我遇到了同样的问题。这里似乎没有太多关于它的内容...所以我想我会添加我学到的东西。

我使用了第三方库来帮助这项工作:可以在此处找到所有下载。org.codehaus.jackson

对于基本的 JSON 功能,您需要将以下 jar 添加到项目的库中:jackson-mapper-asljackson-core-asl

选择项目所需的版本。(通常,您可以使用最新的稳定版本)。

将它们导入到项目的库中后,将以下行添加到代码中:import

 import org.codehaus.jackson.JsonGenerationException;
 import org.codehaus.jackson.map.JsonMappingException;
 import org.codehaus.jackson.map.ObjectMapper;

使用 java 对象定义并分配了您希望转换为 JSON 并作为 RESTful Web 服务的一部分返回的值

User u = new User();
 u.firstName = "Sample";
 u.lastName = "User";
 u.email = "sampleU@example.com";

ObjectMapper mapper = new ObjectMapper();
    
try {
    // convert user object to json string and return it 
    return mapper.writeValueAsString(u);
}

  // catch various errors
  catch (JsonGenerationException e) {
    e.printStackTrace();
} 
  catch (JsonMappingException e) {
    e.printStackTrace();
}

结果应如下所示:{"firstName":"Sample","lastName":"User","email":"sampleU@example.com"}