我正在struts上从事Web服务。现在我想要json对象使用其键值。然后,我必须发布类似数组的内容作为响应。我不知道如何在Struts中做到这一点。我知道如何在Servlet中执行此操作。因此,我使用的是我尝试过的以下代码,但我认为Struts中的代码有所不同。
JSONObject json = (JSONObject)new JSONParser().parse(jb.toString());
String key_value= json.get("key").toString();
因此,如何在Struts中做到这一点。还请告诉我如何解析json数组作为响应。
使用JSON无需将JSON发送到Struts。即使可以将其配置为接受JSON内容类型,它也无济于事。您可以使用对Struts的普通请求以及传入的数据。如果是Ajax通话,那么您可以使用类似
$.ajax({
url: "<s:url namespace="/aaa" action="bbb"/>",
data : {key: value},
dataType:"json",
success: function(json){
$.each(json, function( index, value ) {
alert( index + ": " + value );
});
}
});
本value
应是通过填充动作特性params
拦截和OGNL。将json
在成功函数返回应该是JSON对象,并可以直接使用,无需解析。
您需要为属性提供操作配置和设置器key
。
struts.xml
:
<package name="aaa" namespace="/aaa" extends="json-default">
<action name="bbb" class="com.bbb.Bbb" method="ccc">
<result type="json">
<param name="root">
</result>
</action>
</package>
此配置使用"json"
包中的结果类型"json-default"
,如果您使用struts2-json-
plugin
,则此配置可用。
动作类:
public class Bbb extends ActionSupport {
private String key;
//setter
private List<String> value = new ArrayList<>();
//getter
public String ccc(){
value.add("Something");
return SUCCESS;
}
}
返回SUCCESS
结果时,Struts将通过在序列化过程中调用其getter方法value
,将root
参数定义的属性序列化为JSON结果。
问题内容: 我正在返回一个json,如下所示 我正在尝试获取每个元素的键和值: 我正在戒备。为什么?我尝试过,我尝试循环但没有成功。 问题答案: 检查这个jsfiddle 从 jQuery 3.0开始 ,不推荐使用$ .parseJSON。要解析JSON字符串,请改用本机JSON.parse方法。 来源:http://api.jquery.com/jquery.parsejson/
问题内容: 我是JSON的新手。因此,如果这是一个非常基本的疑问,请不要责骂我。我有一个JSON对象参考,我想获取Key(对象只有一个“键值对”)。如何在Java中获得它? 问题答案: 您可以用来获取所有密钥。然后,您可以遍历密钥以从中获得第一个密钥,例如:
我得到了响应从REST API到响应对象后,通过RestAsared API调用。 响应主体是json,我想从中获取特定的键值吗? 以下是代码 如何在字符串中获取特定的键值?
问题内容: 嗨,我有一个LinkedHashMap(称为信息),其中包含名称/年龄(字符串/整数)对。我想找出,如果我输入键,如何获得键/值的位置。例如,如果我的LinkedHashMap看起来像这样{bob = 12,jeremy = 42,carly = 21}并且我要搜索jeremy,它应该返回1作为其位置1。我希望我可以使用诸如info.getIndex这样的东西(“杰里米”) 问题答案:
如何获取密钥名称,如下所示:
问题内容: 我想尝试从Go中的JSON获取键值,但是我不确定该怎么做。 我已经能够使用simplejson来读取json值,但是我却无法找出如何获取键值。 谁能指出正确的方向和/或帮助我? 谢谢! 问题答案: 您可以通过执行以下操作来获取JSON结构的顶级密钥: 请注意,键的顺序不得与JSON结构中的键顺序相对应。它们在最后一片中的顺序甚至会在完全相同的代码的不同运行之间有所不同。这是由于地图迭代