前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java 如何把 php 数组转换为 json 数据

Java 如何把 php 数组转换为 json 数据

作者头像
格姗知识圈
发布2020-05-12 10:38:41
1.9K0
发布2020-05-12 10:38:41
举报
文章被收录于专栏:格姗知识圈格姗知识圈

最近做一些网站的数据迁移,遇到数据库的某个字段存的数据既有 json 数据,也有 php 数组的字符串。

而小编又是用 Java 语言开发的,最好的办法就是把 php 数组转换为 json 数据,在网上都没有找到比较合适使用 Java 进行处理的。当然,有一些网站可以在线运行 php 代码,可以直接调用这些网站进行处理。但是这样比较麻烦,可用性也不高。

通过对 php 数组的分析,可以替换相应的字符、分割等操作后,转换为 json。

下面,就分享一下如何使用 Java 处理 php 数组,希望对你所有帮助。

1. 引用 JSON 转换工具
代码语言:javascript
复制
<!-- 引用阿里巴巴 JSON转换工具 -->
 <dependency>
     <groupId>com.alibaba</groupId>
     <artifactId>fastjson</artifactId>
     <version>1.2.66</version>
 </dependency>
2. 编写主要方法
代码语言:javascript
复制
/**
  * 把php数组转换为json
  * @param str php数组字符串
  * @return json对象
  */
 public static JSONObject phpFormatJson(String str) {
     // 替换换行字符
     str = str.replace("\n","");
     // 替换array,有两种情况,array和(直接可能有空格
     str = str.replace("array (","");
     str = str.replace("array(","");
     str = str.replace(")","");
     // 通过逗号分割
     String[] arr = str.split(",");
     JSONObject jsonObject = new JSONObject();
     // 循环遍历
     for (String s : arr) {
         if (!s.contains("=>")) {
             continue;
        }
         // 通过分割 => ,把键值分开
         String[] split = s.split("=>");
         // 去除前后空格
         String key = split[0].trim();
         String value = split[1].trim();
         // 这里根据具体情况去除无用的字符,本例去除单引号
         value = value.replace("'","");
         jsonObject.put(key,value);
    }
     return jsonObject;
 }
3. 运行测试
代码语言:javascript
复制
public static void main(String[] args) {
     /**
     * array (
     * title => '标题',
     * content => '内容',
     * )
     */
     String str = "array (\n" +
     " title => '标题',\n" +
     " content => '内容',\n" +
     ")";
     System.out.println("原php数据:\n" + str);
     JSONObject jsonObject = phpFormatJson(str);
     System.out.println("php数组转换后的json:\n" + jsonObject.toJSONString());
}

运行结果:

代码语言:javascript
复制
原php数据:
 array (
   title => '标题',
   content => '内容',
 )
 php数组转换后的json:
 {"title":"标题","content":"内容"}

通过对 php 数组字符串进行一系列的替换成一定规则,就可以转换为 json 数据了,部分的替换还是得根据具体情况进行处理。这样的处理方式,你学会了吗?

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-05-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 格姗知识圈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 引用 JSON 转换工具
  • 2. 编写主要方法
  • 3. 运行测试
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档