出错了:java.lang.string can not cast to org 手机出现这,

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了出错了:java.lang.string can not cast to org 手机出现这,相关的知识,希望对你有一定的参考价值。

么搞的

参考技术A

你的代码估计是 jsonobject jo = (JSonObject)str;//将字符串强转成jsonobject,此时会上述错误。

解决此错误的思路是:

    将一个字符串转成json对象,并不能使用强转,而应该使用相关的json包,它们提供了字符串和jsonobject、jsonarry等对象转换的api。

    google一下字符串和json对象互转,即可找到解决方案。

参考技术B 类型转换错误。把详细代码弄过来看看追问

java.lang.string can not cast to org .json.JSONObect

java.lang.string can not cast to org .json.JSONObect

这种问题怎么解决啊

追答

你把出错的位置的代码拿过来啊。这个错误就是string转换成json格式出的错。为什么出错你得把代码弄过来

参考技术C 类型转换异常。具体是什么 我就不知道了追问

后面还有json.JSONObect.

追答

手机我不太清楚呀。软件冲突么? 你什么操作导致的这个异常啊

无法将类型 [java.lang.String] 的属性值转换为所需类型 [java.lang.Integer]

【中文标题】无法将类型 [java.lang.String] 的属性值转换为所需类型 [java.lang.Integer]【英文标题】:Failed to convert property value of type [java.lang.String] to required type [java.lang.Integer] 【发布时间】:2017-04-21 05:34:37 【问题描述】:

我正在使用 Spring MVC 和 Spring Security 以及休眠。我在将“电话号码”保存到“数据库”时遇到问题。哪里出错了?

提交表单时出现以下错误

Failed to convert property value of type [java.lang.String] to required type [java.lang.Integer] for property Phone_Number; nested exception is java.lang.NumberFormatException: For input string: "(020)828-5852"

这是我的看法:

    <div class="control-group ">
 <label class="control-label" for="phone" >Phone Number</label>
  <div class="controls">
  <form:input id="phone" path="Phone_Number" type="text"
   class="form-control span4"/>
   <div class="has-error">
   <form:errors path="Phone_Number" class="help-inline" />
   </div>
    </div>
    </div>

型号:

@NotNull
    @Column(name="PHONE_NUMBER", nullable=false)
    private Integer Phone_Number;

我的控制器:

@RequestMapping(value =  "/newuser" , method = RequestMethod.GET)
    public String newUser(ModelMap model) 
        UsersInfo usersInfo = new UsersInfo();
        model.addAttribute("usersInfo", usersInfo);
        model.addAttribute("edit", false);
        model.addAttribute("loggedinuser", getPrincipal());
        return "adduser";
    

    @RequestMapping(value =  "/newuser" , method = RequestMethod.POST)
    public String saveUser(@Valid UsersInfo usersInfo, BindingResult result, ModelMap model) 


        if (result.hasErrors()) 
            return "adduser";
        


        if (!userInfoService.isUserUserNameUnique(usersInfo.getIdUsers(), usersInfo.getUserName())) 
            FieldError UsernameError = new FieldError("usersInfo", "UserName", messageSource
                    .getMessage("non.unique.UserName", new String[]  usersInfo.getUserName() , Locale.getDefault()));
            result.addError(UsernameError);
            return "adduser";
        

我读到我要将此 Bean 添加到我的休眠配置中

@Bean
    public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() 
        return new PropertySourcesPlaceholderConfigurer();
    

但错误信息仍然存在。

【问题讨论】:

【参考方案1】:

您尝试在表单中发送的数字不是有效的整数 - 它包含括号。在这种情况下,您应该将模型上的 Phone_Number 类型更改为 String。

【讨论】:

【参考方案2】:

如果要将电话号码作为 int 处理,请确保从视图接收到的参数是 Integer。

你可以试试这个:

<form:input id="phone" path="Phone_Number" type="number" class="form-control span4"/>

【讨论】:

以上是关于出错了:java.lang.string can not cast to org 手机出现这,的主要内容,如果未能解决你的问题,请参考以下文章

Jackson错误:Can not deserialize instance of java.lang.String out of START_OBJECT token

Jackson错误:Can not deserialize instance of java.lang.String out of START_OBJECT token

将 firebase 数据放入 recyclerview 时出错,“反序列化时需要一个列表,但有一个类 java.lang.String”

解析数据 org.json.JSONException 时出错:Java.lang.String 类型的值 <!DOCTYPE 无法转换为 JSONObject

解决用户自生成meta导入kylin后报错问题Can not deserialize instance of java.lang.String[] out of VALUE_STRING token(

Could not read document: Can not deserialize instance of java.lang.String out of START_ARRAY