专栏首页james大数据架构java中用MessageFormat格式化json字符串用占位符时出现的问题can't parse argument number

java中用MessageFormat格式化json字符串用占位符时出现的问题can't parse argument number

在MessageFormat.format方法中组装jason数据字符串:{code:"w1",des:"w2"},起止分别有左大括号和右大括号。

直接写的点位符位报错:

java.lang.IllegalArgumentException : can't parse argument number MessageFormat

解决方法是将单引号把大括号包含起来。如下:

        String responseTemplate = "'{'code:\"{0}\",des:\"{1}\"'}'";

        System.out.println(MessageFormat.format(responseTemplate, "w1","w2"));

这是正确的做法,之前参考另一个网友说的只加一个单引号:"'{code:\"{0}\",des:\"{1}\"}'"; 测试时发现{0}等都没有替换,这是错误的做法,'{'两边都要加。

如果格式化字符串中包含单引号,处理方法是用2个单引号进行转义:

        String responseTemplate = "'{'code:''{0}'',des:''{1}'''}'";         System.out.println(MessageFormat.format(responseTemplate, "w1","w2"));

处理结果:{code:'w1',des:'w2'}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 分布式文件系统FastDFS动态扩容

      当用户量越来越大,则集群中某个group总会到达其极限,这时就得扩展集群的容量了。 FastDFS的扩容分为对group纵向扩容和横向扩容   纵向扩容 指...

    欢醉
  • 高可用高性能分布式文件系统FastDFS进阶keepalived+nginx对多tracker进行高可用热备

      在上一篇 分布式文件系统FastDFS如何做到高可用 中已经介绍了FastDFS的原理和怎么搭建一个简单的高可用的分布式文件系统及怎么访问。   高可用是实...

    欢醉
  • 分布式监控系统Zabbix3.2跳坑指南

    zabbix是什么在此就不多作介绍了,可以参考之前的文章 零代码如何打造自己的实时监控预警系统 ,这篇主要介绍安装及注意事项。 主要分为服务端和客户端安装,客户...

    欢醉
  • Git切换分支减少重复编译

    在今年的时候,项目从 SVN 转移到 gitlab进行 git托管。前期没有特别的注意,后来越来越明显。

    君赏
  • 【iOS 开发】用泛型简化 instantiateViewController

    使用 storyboard 的时候,我们经常会写出下面这样的代码,用来跳转到其他页面

    KyXu
  • Nodejs中使用ioredis库

    Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings),...

    ccf19881030
  • 第三方账户登录--github

    使用node+express创建项目,可以参考这篇文章 node+express项目

    RtyXmd
  • 模块导入及使用,关键字,模块搜索路径,python文件的两种用途

    小小咸鱼YwY
  • 业界 | 英特尔的CPU,现在被禁止跑分了

    这一次,英特尔的 CPU 微码许可协议中包含了「禁止用户跑分」条款。这意味着人们使用任何 Benchmark 软件对自己的 CPU 进行评测,并将分数和对比结果...

    机器之心
  • 微信OAuth2.0网页授权多回调域名

    转载自 https://github.com/HADB/GetWeixinCode

    似水的流年

扫码关注云+社区

领取腾讯云代金券