java php json转字符串_Java如何把php数组转换为json数据

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

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

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

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

1. 引用 JSON 转换工具

com.alibaba

fastjson

1.2.66

2. 编写主要方法

/**

* 把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. 运行测试

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());

}

运行结果:

原php数据:

array (

title => '标题',

content => '内容',

)

php数组转换后的json:

{"title":"标题","content":"内容"}

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值