gpt4 book ai didi

java - 如何在Struts中使用其键值获取json对象?

转载 作者:行者123 更新时间:2023-12-01 12:13:26 26 4
gpt4 key购买 nike

我正在使用 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 填充的操作属性。 success函数返回的json应该是JSON对象,可以直接使用,无需解析。

您需要为属性key提供操作配置和 setter 。

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-default" 包中的 "json" 结果类型,如果您使用 JSON Plugin 则可用。 .

Action 类:

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 将 root 参数定义的 value 属性序列化为 JSON 结果序列化期间的方法。

如果您需要将 JSON 发送到 Struts 操作,您应该阅读 this回答。

关于java - 如何在Struts中使用其键值获取json对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27141534/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com