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 中的第二个参数

“JSON.parse”和“JSON.stringify”有啥区别?

通过JSON.parse(JSON.stringify(obj))转换的对象中的日期(Date)