承接 romtokarev/json-csv 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

romtokarev/json-csv

Composer 安装命令:

composer require romtokarev/json-csv

包简介

JSON to CSV and CSV to JSON converters in PHP.

README 文档

README

Latest Version on Packagist Software License Build Status Total Downloads

The most basic CSV to JSON and JSON to CSV converter library in PHP without any dependencies.

Install

Via Composer

$ composer require romtokarev/json-csv

Usage

JSON to CSV Converter from string

use OzdemirBurak\JsonCsv\File\Json;

// demo json data
$testJson = json_encode([
    [
        'name' => [
            'common' => 'Turkey',
            'official' => 'Republic of Turkey',
            'native' => 'T\u00fcrkiye'
        ],
        'area' => 783562,
        'latlng' => [39, 35]
    ],
    [
        'name' => [
            'common' => 'Israel',
            'official' => 'State of Israel',
            'native' => '\u05d9\u05e9\u05e8\u05d0\u05dc'
        ],
        'area' => 20770,
        'latlng' => [31.30, 34.45]

    ]
]);

// JSON to CSV
$json = (new Json())->convertfromString($testJson);
// To convert JSON to CSV string
$csvString = $json->convert();
// To set a conversion option then convert JSON to CSV and save
$json->setConversionKey('utf8_encoding', true);
$json->convertAndSave(__DIR__ . '/above.csv');
// To convert JSON to CSV and force download on browser
$json->convertAndDownload();

After the conversion, the resulting CSV data will look like below.

name_common name_official name_native area latlng_0 latlng_1
Turkey Republic of Turkey Türkiye 783562 39 35
Israel State of Israel ישראל 20770 31.3 34.45

JSON to CSV Converter from file

use OzdemirBurak\JsonCsv\File\Json;

// JSON to CSV
$json = (new Json)->convertfromFile(__DIR__ . '/above.json');
// To convert JSON to CSV string
$csvString = $json->convert();
// To set a conversion option then convert JSON to CSV and save
$json->setConversionKey('utf8_encoding', true);
$json->convertAndSave(__DIR__ . '/above.csv');
// To convert JSON to CSV and force download on browser
$json->convertAndDownload();

Assume that the input JSON is something like below.

[
  {
    "name": {
      "common": "Turkey",
      "official": "Republic of Turkey",
      "native": "T\u00fcrkiye"
    },
    "area": 783562,
    "latlng": [39, 35]
  },
  {
    "name": {
      "common": "Israel",
      "official": "State of Israel",
      "native": "\u05d9\u05e9\u05e8\u05d0\u05dc"
    },
    "area": 20770,
    "latlng": [31.30, 34.45]
  }
]

After the conversion, the resulting CSV data will look like below.

name_common name_official name_native area latlng_0 latlng_1
Turkey Republic of Turkey Türkiye 783562 39 35
Israel State of Israel ישראל 20770 31.3 34.45

CSV to JSON Converter

use OzdemirBurak\JsonCsv\File\Csv;

// CSV to JSON
$csv = new Csv(__DIR__ . '/below.csv');
$csv->setConversionKey('options', JSON_PRETTY_PRINT|JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
// To convert CSV to JSON string
$jsonString = $csv->convert();
// To convert CSV to JSON and save
$csv->convertAndSave(__DIR__ . '/below.json');
// To convert CSV to JSON and force download on browser
$csv->convertAndDownload();

Assume that the input CSV file is something like below.

SepalLength SepalWidth PetalLength PetalWidth Name
5.1 3.5 1.4 0.2 Iris-setosa
7.0 3.2 4.7 1.4 Iris-versicolor
6.3 3.3 6.0 2.5 Iris-virginica

After the conversion, the resulting JSON data will look like below.

[
  {
    "SepalLength": "5.1",
    "SepalWidth": "3.5",
    "PetalLength": "1.4",
    "PetalWidth": "0.2",
    "Name": "Iris-setosa"
  },
  {
    "SepalLength": "7.0",
    "SepalWidth": "3.2",
    "PetalLength": "4.7",
    "PetalWidth": "1.4",
    "Name": "Iris-versicolor"
  },
  {
    "SepalLength": "6.3",
    "SepalWidth": "3.3",
    "PetalLength": "6.0",
    "PetalWidth": "2.5",
    "Name": "Iris-virginica"
  }
]

Change log

Please see CHANGELOG for more information what has changed recently.

Testing

$ composer test

Known Issues

Currently, there are not any issues that are known.

Contributing

Please see CONTRIBUTING for details.

Credits

License

The MIT License (MIT). Please see License File for more information.

统计信息

  • 总下载量: 4
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 4
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2022-07-28

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固