- 2020-03-14
Jackson__Zhang
班级:L3-B姓名:张文清Jackson学号:20193000624日期:2020/3/10作业序号(WritingAssignmentNo.):001题目:Somepeoplesaythatplayingateamsport,suchassoccerorbasketball,shouldbecompulsoryforstudentsbecauseithasmanybenefits.Whatare
- 【SpringMVC】五、Json数据交互 Json乱码处理 Jackson Fastjson【狂神篇】
Y1567409
程序员json交互
简洁和清晰的层次结构使得JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。在JavaScript语言中,一切都是对象。因此,任何JavaScript支持的类型都可以通过JSON来表示,例如字符串、数字、对象、数组等。要求和语法格式:对象表示为键值对,数据由逗号分隔花括号保存对象方括号保存数组JSON键值对是用来保存JavaScript对象的一种方
- 03-JSON-JSON数据和Java对象的相互转换(jackson解析器、注解、list、map)
Gy-qwert
javajsonservlet
一、JSON数据转换Java对象在Java中,将JSON数据转换为Java对象,Jackson作为一个优秀的JSON处理库,提供了方便的API来实现这个需求。具体来说,需要使用ObjectMapper类提供的readValue()方法,该方法提供多种重载形式,可以根据不同的参数类型来读取JSON数据并转换为对应的Java对象。以下是一个将JSON数据转换为Java对象的示例:假设有如下的JSON数
- 使用jackson将xml和对象、List相互转换
齐 飞
xmllistjavaspringboot后端
文章目录JacksonXml常用注解常用的配置属性相关依赖jackson工具类xml和对象相互转换xml数据实体类xml转为对象对象转为xmlxml和List相互转换xml数据实体类List转xmlxml转List方法1方法2@JacksonXmlElementWrapper的useWrapping参数区别总结JacksonXmlJackson是一个广泛使用的JSON处理库,但在处理XML数据时,
- Redis的incr命令引发的反序列化异常和ERR value is not an integer or out of range异常
臣妾写不来啊
Java编码技巧redis数据库缓存
在Java中使用inc命令的时候发现redis中的值被反序列化后居然不是数字,检查后发现可能是序列化器没对,在redis配置的地方将序列化器设置为Jackson2JsonRedisSerializer后使用整成,贴上代码@Bean(name="RedisTemplate")@SuppressWarnings("all")publicRedisTemplateredisTemplate(RedisC
- JSON parse error: Illegal character ((CTRL-CHAR, code 31)): only regular white space (\r, \n, \t)
Chen__Wu
javajavajson
JSONparseerror:Illegalcharacter((CTRL-CHAR,code31)):onlyregularwhitespace(\r,\n,\t)isallowedbetweentokens;nestedexceptioniscom.fasterxml.jackson.core.JsonParseException:Illegalcharacter((CTRL-CHAR,cod
- java xml 转json json 转 json对象
在下,杨江河
遇到的问题javaxmljson
xml转json在Java中将XML转换为JSON是一个常见的需求,尤其是在处理Web服务或数据交换时。有多种库可以帮助你完成这项任务,但其中最流行和广泛使用的一个是org.json(虽然它本身不直接支持XML到JSON的转换,但可以通过解析XML然后构建JSON来实现)和com.fasterxml.jackson.dataformat.xml(Jackson库的一个扩展,可以直接从XML解析到J
- 后端处理前端NaN导致报错
旋转跳跃闭着眼
用实体接参数时,属性类型是Double,前端传NaN会报错,做了简单处理,记录一下,当然前端不传NaN就更好了…packagecn.edu.oa.jsonSerializer;importcn.micro.framework.exception.BusinessException;importcom.fasterxml.jackson.core.JsonParser;importcom.faste
- JWT生成、解析token
睆小白
javaandroid开发语言
目录1.导入JWT相关依赖2.JWT生成token3.JWT解析token4.测试结果5.JWT加密、解密工具类1.导入JWT相关依赖io.jsonwebtokenjjwt-api0.10.2io.jsonwebtokenjjwt-impl0.10.2io.jsonwebtokenjjwt-jackson0.10.22.JWT生成token/***获取JWT令牌*@return*/publicst
- 数据分析利器:Java与MySQL构建强大的数据挖掘系统
lizi88888
数据挖掘数据分析java
数据分析在当今信息时代具有重要的作用,它可以帮助企业和组织深入理解数据,发现隐藏在数据中的模式和规律,并基于这些洞察进行决策和优化。Java与MySQL作为两个强大的工具,结合起来可以构建出一个高效、可靠且功能丰富的数据挖掘系统。一、Java在数据分析中的应用1、数据处理和清洗:Java提供了丰富的数据处理和操作库,例如ApacheCommons、Jackson等,可以方便地对各种数据格式进行解析
- Java反射机制笔记
爱吃大猫的小鱼
java笔记
在一些组件或者框架中开发中,他们本身是不知道要处理哪些类,例如jackson组件,我们给他什么类,他就要处理转换什么类newObjectMapper().writeValueAsString(user)newObjectMapper().writeValueAsString(admin)newObjectMapper().writeValueAsString(result)在web.xml中配置了
- only regular white space (\r, \n, \t) is allowed between tokens
梦昼初PurpleShell
经验分享javaspringcloudfeign
Causedby:com.fasterxml.jackson.core.JsonParseException:Illegalcharacter((CTRL-CHAR,code31)):onlyregularwhitespace(\r,\n,\t)isallowedbetweentokensat[Source:(PushbackInputStream);line:1,column:2]该异常是由于S
- 联华证券-美联储降息补贴:额外补贴,美元短期走势或保持稳定
ccjpcbe
金融
市场进一步确信美联储9月的加息举措,即便对加息幅度的预测并不一致。当地时间8月23日,美联储主席鲍威尔在JacksonHole年度会议中发出迄今为止最强烈的降息信号:为避免国内劳动力市场进一步疲弱,美联储打算采取行动,即将在9月降息。尽管鲍威尔表示现在已到了政策调整的时候,对通胀前景有更多的信心,但其并未明确降息的幅度,后者将取决于即将公布的数据、不断变化的前景和风险平衡。投资者此前已经预期美联储
- Spring Boot中处理JSON日期格式
林凤g
springbootjson后端
文章目录SpringBoot中处理JSON日期格式一、@JsonFormat二、配置默认格式三、自定义Jackson的ObjectMapper总结SpringBoot中处理JSON日期格式SpringBootweb,往往需要对返回的日期格式进行相应的处理,以下列出目前常用的三种处理日期格式的方式。一、@JsonFormat需要在每个日期属性上,添加@JsonFormat注解,可以是LocalDat
- java json工具类_Java 的 JSON 开源类库之JackSon工具类--JSONUtils
奉义天涯
javajson工具类
Java的JSON开源类库之JackSon工具类--JSONUtils,有需要的朋友可以参考下。JSON是JavaScriptObjectNotation的缩写,是一种轻量级的数据交换形式,是一种XML的替代方案,而且比XML更小,更快而且更易于解析。因为JSON描述对象的时候使用的是JavaScript语法,它是语言和平台独立的,并且这些年许多JSON的解析器和类库被开发出来。在这篇文章中,我们
- Java工具封装:Yaml、Properties、Json三种内容格式之间互相转换
嗯嗯**
JavajavajsonYamlProperties内容转换
文章目录概述工具支持转换的形式代码测试可视化体验测试概述源码地址:https://github.com/FasterXML/jackson-dataformats-text依赖com.fasterxml.jackson.dataformatjackson-dataformat-yaml2.14.0-rc3com.fasterxml.jackson.dataformatjackson-datafor
- Java中的Jackson:高级进阶篇
墨瑾轩
Java类库Java乐园java开发语言
关注墨瑾轩,带你探索编程的奥秘!超萌技术攻略,轻松晋级编程高手技术宝库已备好,就等你来挖掘订阅墨瑾轩,智趣学习不孤单即刻启航,编程之旅更有趣❓引言嗨,小伙伴们!今天我们将一起探索Jackson这个强大的JSON处理库。如果你需要在Java程序中处理JSON数据,那么Jackson绝对是你的首选。接下来,我们就一步步地探索Jackson的魅力吧!什么是Jackson?Jackson是一个开源的Ja
- Java反射机制&反射方法解析&反射案例
NapKinG111
JavaSEjava开发语言学习笔记交互json
java反射在一些组件或者框架开发中声明,他们本身不知道要处理哪些类,例如Jackson组件,在web.xml中配置了哪些servlet类,Tomcat就要创建哪些类对象在mybatis中,给了什么类型,mybatis就可以将结果封装映射对给定的类的对象中以前已知类名的使用方式,可以看作是正向使用类框架只需要写一套程序,就可以处理我们给他的任意类只需要知道类的名字,通过名字动态获取类中的信息,被称
- Jackson 反序列化漏洞
B1ackMa9ic
网络安全安全系统安全web安全安全架构python网络
文章目录Jackson反序列化漏洞利用条件Jackson反序列化漏洞原理漏洞利用过程漏洞示例Jackson反序列化漏洞黑盒测试方法猜测后端是否有JacksonJackson反序列化漏洞利用条件1.DefaultTyping设置参数:开启了JAVA_LANG_OBJECT2.@JsonTypeInfo注解:@JsonTypeInfo(use=JsonTypeInfo.Id.MINIMAL_CLASS
- mybatis 排坑日记1 – @TableField(typeHandler = JacksonTypeHandler.class) 查询时不生效为null
chenkangck50
mybatisjava开发语言
使用@TableField(typeHandler=JacksonTypeHandler.class)经常发现数据新增可以,查询结果为null,记录下空查询结果1.如果在使用JacksonTypeHandler时遇到空查询结果,则可能需要将autoResultMap属性添加到@TableName注释中。例如:@TableName(value=“my_table”,autoResultMap=tru
- Jackson消息转换器
Annaday
springjavaymlspringboot
Jacksonjson的概念json是一种应用广泛的数据交换格式,例如:{"name":"admin","age":20,"hobbies":["唱","跳","rap"]}Jackson就是将Java对象与Json数据进行相互转换的工具。publicclass{privateStringname;privateintage;privateString[]hobbies}Jackson是Sprin
- java实体中返回前端的double类型四舍五入(格式化)
婲落ヽ紅顏誶
java
根据业务,需要通过后端给前端返回部分double类型的数值,一般需要保留两位小数,使用jackson转换对象packagecom.ruoyi.common.core.config;importcom.fasterxml.jackson.core.JsonGenerator;importcom.fasterxml.jackson.databind.JsonSerializer;importcom.f
- Spring Cloud GateWay整合熔断器实现限流
暮色里de白雪檐
springcloud#java核心知识点网关hystrx限流CircuitBreakergateway
其实网关是很强大,能做的事情很多,包含很多过滤器包括限流,具体的网关可以参考我的另外一篇博文SpringCloudGateWay-过滤器今天我们来说下网关如何限流,主要两种方案:SpringCloudGateWay整合hystrxenvironment:testmanagement:security:enabled:falsespring:jackson:date-format:yyyy-MM-d
- Java入门-java对象与json之间的转换
自信人间三百年
java入门javajson开发语言
json对象转Json字符串使用jackson实现java对象转为Json字符串引入依赖com.fasterxml.jackson.corejackson-databind对象转json字符串Objectval=newObject();//val表示java对象JsonMapperjsonMapper=newJsonMapper();StringjsonString=jsonMapper.writ
- 使用Jackson库进行JSON序列化和反序列化
才艺のblog
jsonpython开发语言
一、序言在现代Web开发中,JSON(JavaScriptObjectNotation)成为了一种广泛使用的数据格式,用于前后端数据传输和存储。Java是一种面向对象编程语言,而JSON是一种键值对格式的数据,因此在Java中,需要将Java对象转换为JSON字符串,或者将JSON字符串转换为Java对象。这个过程就是JSON的序列化和反序列化。对于Java中的JSON序列化和反序列化,有很多开源
- vue+elmentUI解决前端页面时间显示为一串数字
梅秃头
稀奇古怪的问题前端
在该属性上添加注解@JsonFormat(pattern="yyyy-MM-ddHH:mm:ss")privateDatecreateTime;导入包importcom.fasterxml.jackson.annotation.JsonFormat;效果
- Flutter json 转model 问题
松_THOM
由于Flutter禁用运行时反射,所以在Flutter中是没有GSON,Jackson这类解析JSON的库。官方解释运行时反射会干扰Dart的_treeshaking_。使用_treeshaking_我们可以在发版时去除未使用的代码。这可以显着优化应用程序的大小。由于反射会默认使用所有代码,因此_treeshaking_会很难工作。这些工具无法知道哪些widget在运行时未被使用,因此冗余代码很难
- Rabbitmq入门与应用(四)-RabbitMQ常见模式
自信人间三百年
rabbitmqrabbitmq分布式
RabbitMQ常见Queue模式简单模式点对点模式,一个生产者一个消费者生产者将消息发送到队列,消费者从队列中获取消息,队列是存储消息的缓冲区。查看管理端效果序列化解决方案基于java序列化基于Json@BeanpublicMessageConvertermessageConverter(){returnnewJackson2JsonMessageConverter();}@Beanpublic
- SpringBoot解决前端js处理大数字丢失精度问题Long转String
shun35
面试必学前端springbootjavascript
一、Jackson对Long类型的处理导致精度丢失的问题表的某一个字段的类型是BIGINT,对应的Java类的属性的类型就是Long。当这个字段的值由后端返回给前端网页时,发现了精度丢失的问题。比如后端返回的值是588085469986509185,到了前端是588085469986509200,后面的几位数变成了0,精度丢失了二、原因JavaScript中数字的精度是有限的,BIGINT类型的的
- 八:英语流利说Level1-Unit2-Part3(中英文版)
要有钱要悠闲
L1-U2-P3-1Listening:TheJacksonFamily1ThisisLisaJackson.这是丽莎·杰克逊。Thisisherfamily.这是她的家人。Theseareherparents.Thisisherfather.这是她父亲。Herfather'snameisBill.她父亲叫比尔。Billiswhite.比尔是白人。Thisishermother.这是她妈妈。Her
- 异常的核心类Throwable
无量
java源码异常处理exception
java异常的核心是Throwable,其他的如Error和Exception都是继承的这个类 里面有个核心参数是detailMessage,记录异常信息,getMessage核心方法,获取这个参数的值,我们可以自己定义自己的异常类,去继承这个Exception就可以了,方法基本上,用父类的构造方法就OK,所以这么看异常是不是很easy
package com.natsu;
- mongoDB 游标(cursor) 实现分页 迭代
开窍的石头
mongodb
上篇中我们讲了mongoDB 中的查询函数,现在我们讲mongo中如何做分页查询
如何声明一个游标
var mycursor = db.user.find({_id:{$lte:5}});
迭代显示游标数
- MySQL数据库INNODB 表损坏修复处理过程
0624chenhong
tomcatmysql
最近mysql数据库经常死掉,用命令net stop mysql命令也无法停掉,关闭Tomcat的时候,出现Waiting for N instance(s) to be deallocated 信息。查了下,大概就是程序没有对数据库连接释放,导致Connection泄露了。因为用的是开元集成的平台,内部程序也不可能一下子给改掉的,就验证一下咯。启动Tomcat,用户登录系统,用netstat -
- 剖析如何与设计人员沟通
不懂事的小屁孩
工作
最近做图烦死了,不停的改图,改图……。烦,倒不是因为改,而是反反复复的改,人都会死。很多需求人员不知该如何与设计人员沟通,不明白如何使设计人员知道他所要的效果,结果只能是沟通变成了扯淡,改图变成了应付。
那应该如何与设计人员沟通呢?
我认为设计人员与需求人员先天就存在语言障碍。对一个合格的设计人员来说,整天玩的都是点、线、面、配色,哪种构图看起来协调;哪种配色看起来合理心里跟明镜似的,
- qq空间刷评论工具
换个号韩国红果果
JavaScript
var a=document.getElementsByClassName('textinput');
var b=[];
for(var m=0;m<a.length;m++){
if(a[m].getAttribute('placeholder')!=null)
b.push(a[m])
}
var l
- S2SH整合之session
灵静志远
springAOPstrutssession
错误信息:
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cartService': Scope 'session' is not active for the current thread; consider defining a scoped
- xmp标签
a-john
标签
今天在处理数据的显示上遇到一个问题:
var html = '<li><div class="pl-nr"><span class="user-name">' + user
+ '</span>' + text + '</div></li>';
ulComme
- Ajax的常用技巧(2)---实现Web页面中的级联菜单
aijuans
Ajax
在网络上显示数据,往往只显示数据中的一部分信息,如文章标题,产品名称等。如果浏览器要查看所有信息,只需点击相关链接即可。在web技术中,可以采用级联菜单完成上述操作。根据用户的选择,动态展开,并显示出对应选项子菜单的内容。 在传统的web实现方式中,一般是在页面初始化时动态获取到服务端数据库中对应的所有子菜单中的信息,放置到页面中对应的位置,然后再结合CSS层叠样式表动态控制对应子菜单的显示或者隐
- 天-安-门,好高
atongyeye
情感
我是85后,北漂一族,之前房租1100,因为租房合同到期,再续,房租就要涨150。最近网上新闻,地铁也要涨价。算了一下,涨价之后,每次坐地铁由原来2块变成6块。仅坐地铁费用,一个月就要涨200。内心苦痛。
晚上躺在床上一个人想了很久,很久。
我生在农
- android 动画
百合不是茶
android透明度平移缩放旋转
android的动画有两种 tween动画和Frame动画
tween动画;,透明度,缩放,旋转,平移效果
Animation 动画
AlphaAnimation 渐变透明度
RotateAnimation 画面旋转
ScaleAnimation 渐变尺寸缩放
TranslateAnimation 位置移动
Animation
- 查看本机网络信息的cmd脚本
bijian1013
cmd
@echo 您的用户名是:%USERDOMAIN%\%username%>"%userprofile%\网络参数.txt"
@echo 您的机器名是:%COMPUTERNAME%>>"%userprofile%\网络参数.txt"
@echo ___________________>>"%userprofile%\
- plsql 清除登录过的用户
征客丶
plsql
tools---preferences----logon history---history 把你想要删除的删除
--------------------------------------------------------------------
若有其他凝问或文中有错误,请及时向我指出,
我好及时改正,同时也让我们一起进步。
email : binary_spac
- 【Pig一】Pig入门
bit1129
pig
Pig安装
1.下载pig
wget http://mirror.bit.edu.cn/apache/pig/pig-0.14.0/pig-0.14.0.tar.gz
2. 解压配置环境变量
如果Pig使用Map/Reduce模式,那么需要在环境变量中,配置HADOOP_HOME环境变量
expor
- Java 线程同步几种方式
BlueSkator
volatilesynchronizedThredLocalReenTranLockConcurrent
为何要使用同步? java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查), 将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他线程的调用, 从而保证了该变量的唯一性和准确性。 1.同步方法&
- StringUtils判断字符串是否为空的方法(转帖)
BreakingBad
nullStringUtils“”
转帖地址:http://www.cnblogs.com/shangxiaofei/p/4313111.html
public static boolean isEmpty(String str)
判断某字符串是否为空,为空的标准是 str==
null
或 str.length()==
0
- 编程之美-分层遍历二叉树
bylijinnan
java数据结构算法编程之美
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
public class LevelTraverseBinaryTree {
/**
* 编程之美 分层遍历二叉树
* 之前已经用队列实现过二叉树的层次遍历,但这次要求输出换行,因此要
- jquery取值和ajax提交复习记录
chengxuyuancsdn
jquery取值ajax提交
// 取值
// alert($("input[name='username']").val());
// alert($("input[name='password']").val());
// alert($("input[name='sex']:checked").val());
// alert($("
- 推荐国产工作流引擎嵌入式公式语法解析器-IK Expression
comsci
java应用服务器工作Excel嵌入式
这个开源软件包是国内的一位高手自行研制开发的,正如他所说的一样,我觉得它可以使一个工作流引擎上一个台阶。。。。。。欢迎大家使用,并提出意见和建议。。。
----------转帖---------------------------------------------------
IK Expression是一个开源的(OpenSource),可扩展的(Extensible),基于java语言
- 关于系统中使用多个PropertyPlaceholderConfigurer的配置及PropertyOverrideConfigurer
daizj
spring
1、PropertyPlaceholderConfigurer
Spring中PropertyPlaceholderConfigurer这个类,它是用来解析Java Properties属性文件值,并提供在spring配置期间替换使用属性值。接下来让我们逐渐的深入其配置。
基本的使用方法是:(1)
<bean id="propertyConfigurerForWZ&q
- 二叉树:二叉搜索树
dieslrae
二叉树
所谓二叉树,就是一个节点最多只能有两个子节点,而二叉搜索树就是一个经典并简单的二叉树.规则是一个节点的左子节点一定比自己小,右子节点一定大于等于自己(当然也可以反过来).在树基本平衡的时候插入,搜索和删除速度都很快,时间复杂度为O(logN).但是,如果插入的是有序的数据,那效率就会变成O(N),在这个时候,树其实变成了一个链表.
tree代码:
- C语言字符串函数大全
dcj3sjt126com
cfunction
C语言字符串函数大全
函数名: stpcpy
功 能: 拷贝一个字符串到另一个
用 法: char *stpcpy(char *destin, char *source);
程序例:
#include <stdio.h>
#include <string.h>
int main
- 友盟统计页面技巧
dcj3sjt126com
技巧
在基类调用就可以了, 基类ViewController示例代码
-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[MobClick beginLogPageView:[NSString stringWithFormat:@"%@",self.class]];
- window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法
flyvszhb
javajdk
window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法
本机已经安装了jdk1.7,而比较早期的项目需要依赖jdk1.6,于是同时在本机安装了jdk1.6和jdk1.7.
安装jdk1.6前,执行java -version得到
C:\Users\liuxiang2>java -version
java version "1.7.0_21&quo
- Java在创建子类对象的同时会不会创建父类对象
happyqing
java创建子类对象父类对象
1.在thingking in java 的第四版第六章中明确的说了,子类对象中封装了父类对象,
2."When you create an object of the derived class, it contains within it a subobject of the base class. This subobject is the sam
- 跟我学spring3 目录贴及电子书下载
jinnianshilongnian
spring
一、《跟我学spring3》电子书下载地址:
《跟我学spring3》 (1-7 和 8-13) http://jinnianshilongnian.iteye.com/blog/pdf
跟我学spring3系列 word原版 下载
二、
源代码下载
最新依
- 第12章 Ajax(上)
onestopweb
Ajax
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- BI and EIM 4.0 at a glance
blueoxygen
BO
http://www.sap.com/corporate-en/press.epx?PressID=14787
有机会研究下EIM家族的两个新产品~~~~
New features of the 4.0 releases of BI and EIM solutions include:
Real-time in-memory computing –
- Java线程中yield与join方法的区别
tomcat_oracle
java
长期以来,多线程问题颇为受到面试官的青睐。虽然我个人认为我们当中很少有人能真正获得机会开发复杂的多线程应用(在过去的七年中,我得到了一个机会),但是理解多线程对增加你的信心很有用。之前,我讨论了一个wait()和sleep()方法区别的问题,这一次,我将会讨论join()和yield()方法的区别。坦白的说,实际上我并没有用过其中任何一个方法,所以,如果你感觉有不恰当的地方,请提出讨论。
&nb
- android Manifest.xml选项
阿尔萨斯
Manifest
结构
继承关系
public final class Manifest extends Objectjava.lang.Objectandroid.Manifest
内部类
class Manifest.permission权限
class Manifest.permission_group权限组
构造函数
public Manifest () 详细 androi
- Oracle实现类split函数的方
zhaoshijie
oracle
关键字:Oracle实现类split函数的方
项目里需要保存结构数据,批量传到后他进行保存,为了减小数据量,子集拼装的格式,使用存储过程进行保存。保存的过程中需要对数据解析。但是oracle没有Java中split类似的函数。从网上找了一个,也补全了一下。
CREATE OR REPLACE TYPE t_split_100 IS TABLE OF VARCHAR2(100);
cr