Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android中从更大的捆绑包中获取内部捆绑包_Android_Bundle - Fatal编程技术网

在Android中从更大的捆绑包中获取内部捆绑包

在Android中从更大的捆绑包中获取内部捆绑包,android,bundle,Android,Bundle,我在我的Android代码中有一个函数,其中我得到一个包作为输入: void f(Bundle data) 这个数据实际上是json格式的。假设它采用以下格式: {“a”:“x”,“b”:“y”,“content”:{“a1”:“x1”,“b1”:“y1”} 在这种情况下,如果我想得到a或b的值,那么我需要执行stringa=data.getString(“a”)它将获取字符串“x”。类似地,String content=data.getString(“content”)将返回字符串{“a1”

我在我的Android代码中有一个函数,其中我得到一个包作为输入:

void f(Bundle data)
这个
数据实际上是json格式的。假设它采用以下格式:
{“a”:“x”,“b”:“y”,“content”:{“a1”:“x1”,“b1”:“y1”}

在这种情况下,如果我想得到a或b的值,那么我需要执行
stringa=data.getString(“a”)
它将获取字符串
“x”
。类似地,
String content=data.getString(“content”)
将返回字符串
{“a1”:“x1”、“b1”:“y1”}
。但我不知道如何在内容本身中获得特定的值。有没有什么方法可以像
数据那样将
内容作为另一个包来获取,这样我就可以通过执行
content.getString(“a1”)
之类的操作来获取其中的值。可能吗

JSONObject jOBj = new JSONobject(data.getString("content"));
String a1 = jOBj.getString("x1");
String b1 = jOBj.getString("y1");

试试这个

为什么不使用JSONObject来代替bundle?比如getBundle?你至少读过捆绑文档了吗?是的,它返回空值。没有工作,因此问。谢谢。我不使用JSONObject而使用Bundle,因为函数中的参数不在我的控制范围内。如果您知道有一个解决方案,假设我单独收到一个捆绑包,请提供帮助。
data
是一个捆绑包。Bundle类没有
getJSONObject
function.data.getString(“内容”).getString(“a1”)
data.getString(“内容”)
返回一个字符串。所以
data.getString(“内容”).getString(“a1”)
毫无意义,因为String对象首先没有
getString
函数