对于javascriptvue获取JSON中的值感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍vue获取json数据,并为您提供关于Jooq-将字段更新为NULL使其变为“null”而不是NU
对于javascript vue 获取 JSON 中的值感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍vue获取json数据,并为您提供关于Jooq-将字段更新为NULL使其变为“ null”而不是NULL JSON.valueOf(null)与(JSON) null 使用Converter
- javascript vue 获取 JSON 中的值(vue获取json数据)
- Jooq-将字段更新为NULL使其变为“ null”而不是NULL JSON.valueOf(null)与(JSON) null 使用Converter
converter = Converter.ofNullable( JSON.class, String.class, JSON::data, JSON::json ); 的注意事项 - js 取得request 中的值(struts jsp action)
- Js 和 Thymeleaf 如何获取 model 中的值
- json模块:json.dumps()、json.loads()、json.dump()、json.load()
javascript vue 获取 JSON 中的值(vue获取json数据)
如何解决javascript vue 获取 JSON 中的值
我想遍历这个 JSON 文件并输出“状态”下的值。例如Bayern - 220318. 如何在循环中访问这些值以将它们显示在列表或表格中?
解决方法
使用 Object.keys()
按键迭代对象。
Object.keys(output.states).forEach(key => {
console.log(key,output.states[key].vaccinated);
});
,
如果你只想要国家名称,那么你可以定义一个计算属性如下...
computed: {
getStates() {
return this.output.states; // assuming that you have stored the response in a variable called ''output'' defined in the data section
}
}
这就是你如何调用计算并使用 v-for 在模板中打印它
<div v-for="(stateObject,state) in getStates" v-bind:key="state">
<div>{{state}}</div> // to print the state name
<div>{{stateObject.total}}</div> // to print the total value of that object
<div>{{stateObject.vaccine}}</div> // to print the vaccine value of that object
</div>
,
for (const [key,value] of Object.entries(object1)) {
console.log(`${key}: ${value}`);
}
您可以阅读更多内容:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries
Jooq-将字段更新为NULL使其变为“ null”而不是NULL JSON.valueOf(null)与(JSON) null 使用Converter converter = Converter.ofNullable( JSON.class, String.class, JSON::data, JSON::json ); 的注意事项
如何解决Jooq-将字段更新为NULL使其变为“ null”而不是NULL JSON.valueOf(null)与(JSON) null 使用Converter<JSON, String> converter = Converter.ofNullable( JSON.class, String.class, JSON::data, JSON::json ); 的注意事项
所以这是我以前在jooq 3.11中使用的查询。
我正在更新JSON字段,但是使用JsonBinding将其映射到模型中的String,我将在其下方发布
dsl.update(TASK)
.set(TASK.JSON_SOLUTION,(String) null).
.where(TASK.TENANT.eq(getCurrentTenant()))
.and(TASK.TASK_TEMPLATE_ID.in(taskTemplateIds));execute()
现在升级到jooq 3.13.2后,该功能不再起作用。即使我正在使用MysqL 5_7数据库,我也不得不将sql方言更改为MysqL,这可能是问题所在?
我也尝试过,但还是一样
dsl.update(TASK)
.setNull(TASK.JSON_SOLUTION).
.where(TASK.TENANT.eq(getCurrentTenant()))
.and(TASK.TASK_TEMPLATE_ID.in(taskTemplateIds));execute()
JsonBinding.class
public class JsonBinding implements Binding<JSON,String> {
@Override
public Converter<JSON,String> converter() {
return new JsonConverter();
}
@Override
public void sql(BindingsqlContext<String> bindingsqlContext) {
if (bindingsqlContext.render().paramType() == ParamType.INLINED) {
bindingsqlContext
.render()
.visit(DSL.inline(bindingsqlContext.convert(converter()).value()))
.sql("::json");
} else {
bindingsqlContext.render().sql("?");
}
}
@Override
public void register(BindingRegisterContext<String> bindingRegisterContext) throws sqlException {
bindingRegisterContext
.statement()
.registerOutParameter(bindingRegisterContext.index(),Types.VARCHAR);
}
@Override
public void set(BindingSetStatementContext<String> bindingSetStatementContext)
throws sqlException {
bindingSetStatementContext
.statement()
.setString(
bindingSetStatementContext.index(),Objects.toString(bindingSetStatementContext.convert(converter()).value(),null));
}
@Override
public void set(BindingSetsqlOutputContext<String> bindingSetsqlOutputContext)
throws sqlException {
throw new sqlFeatureNotSupportedException();
}
@Override
public void get(BindingGetResultSetContext<String> bindingGetResultSetContext)
throws sqlException {
bindingGetResultSetContext
.convert(converter())
.value(
JSON.valueOf(
bindingGetResultSetContext
.resultSet()
.getString(bindingGetResultSetContext.index())));
}
@Override
public void get(BindingGetStatementContext<String> bindingGetStatementContext)
throws sqlException {
bindingGetStatementContext
.convert(converter())
.value(
JSON.valueOf(
bindingGetStatementContext
.statement()
.getString(bindingGetStatementContext.index())));
}
@Override
public void get(BindingGetsqlInputContext<String> bindingGetsqlInputContext) throws sqlException {
throw new sqlFeatureNotSupportedException();
}
}
JsonConverter.class
public class JsonConverter implements Converter<JSON,String> {
@Override
public String from(JSON object) {
return object != null ? object.toString() : null;
}
@Override
public JSON to(String string) {
return JSON.valueOf(string);
}
@Override
public Class<JSON> fromType() {
return JSON.class;
}
@Override
public Class<String> toType() {
return String.class;
}
}
这是jooq使用.setNull()运行的查询
update `tasks_service`.`task` set `tasks_service`.`task`.`json_solution` = ''null''::json where (`tasks_service`.`task`.`tenant` = ''skynet'' and `tasks_service`.`task`.`task_template_id` in (''55'',''33''))
在jooq 3.11升级之前,查询是这样
update `tasks_service`.`task` set `tasks_service`.`task`.`json_solution` = null::json where (`tasks_service`.`task`.`tenant` = ''skynet'' and `tasks_service`.`task`.`task_template_id` in (''55'',''33''))
因此,在将其设置为''json_solution''= null之前,以及在升级之后,似乎将其设置为''json_solution''=''null''
不太确定为什么会这样吗?
编辑:因此,据我所知,这似乎完全来自于JOOQ的升级,而不是sql-dialect。如果同时将Jooq 3.11.5与MysqL和MysqL_5_7用作方言,则将查询构建为set''json_solution''= null,如果我将JOOQ升级到3.13.2,则将其set''json_solution''=''null''
这个怪癖似乎也只发生在JSON字段上,我尝试将同一表上的另一个varchar String字段设置为null,然后得到正确的设置“ field_name''= null
问题可能出在我的JsonBinding / JsonConverter吗?我必须对其稍作修改,以便与JOOQ中的新JSON对象一起使用,因为以前的JOOQ将JSON映射为Object
解决方法
JSON.valueOf(null)
与(JSON) null
答案在org.jooq.JSON
的Javadoc中:
CAST(NULL AS JSON)
值由类型为null
的{{1}}引用而不是JSON
表示。这与jOOQ从data() == null
和NULL
方法返回Result
的一般方法是一致的。
因此,错误在于Record
使用JSON.valueOf()
。改写成这样:
JsonConverter
或者,只需使用Converter.ofNullable()
,它即可为您处理空对空映射:
public JSON to(String string) {
return string == null ? null : JSON.valueOf(string);
}
使用Converter<JSON,String> converter = Converter.ofNullable( JSON.class,String.class,JSON::data,JSON::json );
的注意事项
由于jOOQ本机支持Binding
类型,因此您实际上不再需要绑定。如果您要将JSON
转换为JSON
,则您的String
就足够了。
js 取得request 中的值(struts jsp action)
1.取变量值
var a = ''<%=request.getAttribute("aaa");%>'' ;
2.也可以将这个值放在页面上.再取出来.
<input type="hidden" value="<%=request.getAttribute("aaa");%>" id="aaa"/>
var a = document.getElementById(''aaa'').value ;
(注):对于对象,我推荐使用第二种方法.这样可以在页面中不IMPORT JAVA类..更符合现在编程
eg:
<input type="hidden" value="${student.name}" id="stuName"/>
var stuName = $(''stuName'').value ;// prototype.js新功能,简写.
Js 和 Thymeleaf 如何获取 model 中的值
简述
在大多数的项目架构中,使用 SPringBoot 发布微服务,前端采用 Thymeleaf 作为 Html 模版,使用 Jquery 作为动态脚本,那么 Thymeleaf 和 Jquery 是如何获取 Model 中的数据呢?
Jquery 获取 Model 中的数据
方法 1:将 model 中的值赋给 hidden,然后 Js 获取隐藏域的值。
后台的实现:
@RequestMapping("/QEditorMod1")
public String QEditorMod1(ModelMap model){
model.addAttribute("staff_name","cxx" );
return "questionEditorTemplate/QEditorMod1";
}
前端值的获取
//将值赋给hidden域
<input type="hidden" th:value="${staff_name}" id="staff_name2"/>
//Js 获取hidden的隐藏域
var staff_name2=$("#staff_name2").val();
Thymeleaf 获取 model 中的值
2、访问 model 中的数据
//通过“${}”访问model中的属性
<div class="panel-body">
<span th:text="${singlePerson.name}"></span>
</div>
3、在 javascript 中访问 model 目前没有发现此种方法的应用场景
<script th:inline="javascript">
var single = [[${singlePerson}]];
console.log(single.name+"/"+single.age)
</script>
json模块:json.dumps()、json.loads()、json.dump()、json.load()
json.dumps()、json.loads()、json.dump()、json.load() 4个方法的总结和使用:
注意:存在文件里面的东西,读出来都是字符串
import json
1、json.dumps()使用
2、json.loads()使用
3、json.load()的使用
4、json.dump()的使用
关于javascript vue 获取 JSON 中的值和vue获取json数据的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于Jooq-将字段更新为NULL使其变为“ null”而不是NULL JSON.valueOf(null)与(JSON) null 使用Converter
本文标签: