java中的JSON.stringify - android
Posted
技术标签:
【中文标题】java中的JSON.stringify - android【英文标题】:JSON.stringify in java - android 【发布时间】:2014-03-31 10:32:58 【问题描述】:有没有办法在android中执行JSON.stringify
?
我一直在网上看到JSON.stringify(JSONObject)
,但我在android中找不到JSON类。
有什么帮助吗?
【问题讨论】:
【参考方案1】:JSON.stringify(JSONObject)
是一个 javascript 函数,在 Java 中不可用。如果您使用的是 Android SDK 中内置的org.json.*
包,则相当于在您的JSONObject
实例上简单地调用toString()
,或更人性化的toString(int)
。
http://developer.android.com/reference/org/json/JSONObject.html#toString() http://developer.android.com/reference/org/json/JSONObject.html#toString(int)
JSONObject obj = ...
String jsonString = obj.toString(4);
【讨论】:
【参考方案2】:我知道这是旧的,但我遇到了同样的问题。而且这里似乎没有太多关于它的内容......所以我想我会添加我学到的东西。
我使用了第三方库来帮助完成这项工作:org.codehaus.jackson
可以在here找到所有下载。
对于基本 JSON 功能,您需要将以下 jar 添加到项目的库中: jackson-mapper-asl 和 jackson-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"
【讨论】:
【参考方案3】:JAVA 中 JSON 对象的基本操作可以借助 org.json
包(包含在 Android SDK 中)或 javax.json
(JAVA EE 的一部分)来完成。两者都有toString()
将JSONObject转换为字符串的方法:
//assuming you have object `jsonobject` of class `JSONObject`
String output = jsonobject.toString()
【讨论】:
以上是关于java中的JSON.stringify - android的主要内容,如果未能解决你的问题,请参考以下文章
浅谈JS中的JSON.stringify() 和 JSON.parse()
data-* 属性中的 encodeURIComponent() 与 JSON.stringify()
json.stringify 对象并重命名 json 中的变量
JavaScript 中 JSON.stringify 中的第二个参数