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 条评论
登录 后参与评论

相关文章

来自专栏C/C++基础

web前端开发初学者十问集锦(4)

利用JS来控制页面控件的显示和隐藏有两种方法,两种方法分别利用HTML的style中的两个属性,两种方法的不同之处在于控件隐藏后是否还在页面上占空位。

1652
来自专栏Python爱好者

Python高效编程(一)

2259
来自专栏landv

Golang 新手可能会踩的 50 个坑【转】

译文:https://github.com/wuYin/blog/blob/master/50-shades-of-golang-traps-gotchas-m...

2802
来自专栏我的小碗汤

go语言正则表达式

我们前两节课爬取珍爱网的时候,用到了很多正则表达式去匹配城市列表、城市、用户信息,其实除了正则表达式去匹配,还可以利用goquery和xpath第三方库匹配有用...

1244
来自专栏阮一峰的网络日志

YAML 语言教程

编程免不了要写配置文件,怎么写配置也是一门学问。 YAML 是专门用来写配置文件的语言,非常简洁和强大,远比 JSON 格式方便。 本文介绍 YAML 的语法,...

3336
来自专栏大前端_Web

SASS相关

版权声明:本文为吴孔云博客原创文章,转载请注明出处并带上链接,谢谢。 https://blog.csdn.net/wkyseo/articl...

1881
来自专栏ytkah

phpcms调用子栏目名称/文章怎么操作

  phpcms调用子栏目名称相对比较简单一些,也是用{pc:content}来调用,只是把action设置为category,catid如果为0的话是调用所有...

3127
来自专栏林德熙的博客

win10 uwp 右击选择 GridViewItem

于是我们需要在 GridView 的 SelectionMode 为 Single ,IsRightTapEnabled 为True

901
来自专栏Python爬虫实战

Python数据类型之字符串

字符串就是一系列的字符。Python中,用配对的引号括起来的都是字符串,其中引号可以是单引号也可以是双引号:

862
来自专栏从流域到海域

《笨办法学Python》 第39课手记

《笨办法学Python》 第39课手记 本节课讲列表的操作,用来做练习的代码中出现了之前用到过的几个函数,是一节复习课。你需要记住它们。 原代码如下: ten_...

1997

扫码关注云+社区

领取腾讯云代金券