You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将下方的JSON数据解析为字符串?

如何将给定的JSON数据转换为字符串

嘿,我来帮你搞定这个问题!你给出的是一个包含两个商品条目的JSON数组,要把它转换成字符串(也就是JSON序列化)的话,不同编程语言有不同的简单实现方式,我给你列几个常用的:

Python

Python自带的json模块就能轻松搞定,用json.dumps()方法就行,还能通过参数生成带缩进的美化版字符串,可读性更强:

import json

# 对应你提供的JSON数据的Python列表
data = [
    { "id": 1, "name": "Instant Coffee", "price": 28.53, "on_hand_quantity": 27 },
    { "id": 2, "name": "Cranberries - Dry", "price": 30.02, "on_hand_quantity": 29 }
]

# 生成紧凑的JSON字符串
json_str = json.dumps(data)
print(json_str)

# 生成带缩进的美化版JSON字符串
pretty_json_str = json.dumps(data, indent=4)
print(pretty_json_str)

JavaScript

不管是浏览器环境还是Node.js里,直接用原生的JSON.stringify()方法就可以,同样支持美化输出:

// 对应你提供的JSON数据的JavaScript数组
const data = [
    { "id": 1, "name": "Instant Coffee", "price": 28.53, "on_hand_quantity": 27 },
    { "id": 2, "name": "Cranberries - Dry", "price": 30.02, "on_hand_quantity": 29 }
];

// 生成普通JSON字符串
const jsonStr = JSON.stringify(data);
console.log(jsonStr);

// 生成带2空格缩进的美化版
const prettyJsonStr = JSON.stringify(data, null, 2);
console.log(prettyJsonStr);

Java

Java可以用Jackson这个常用的JSON处理库,先引入依赖,再写代码:
首先是Maven依赖(如果用Gradle的话对应调整即可):

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.15.2</version>
</dependency>

然后是代码实现:

import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.List;
import java.util.Map;

public class JsonToStringDemo {
    public static void main(String[] args) throws Exception {
        // 对应你提供的JSON数据的List集合
        List<Map<String, Object>> data = List.of(
            Map.of("id", 1, "name", "Instant Coffee", "price", 28.53, "on_hand_quantity", 27),
            Map.of("id", 2, "name", "Cranberries - Dry", "price", 30.02, "on_hand_quantity", 29)
        );

        ObjectMapper mapper = new ObjectMapper();
        // 生成紧凑JSON字符串
        String jsonStr = mapper.writeValueAsString(data);
        System.out.println(jsonStr);

        // 生成美化版JSON字符串
        String prettyJsonStr = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(data);
        System.out.println(prettyJsonStr);
    }
}

C#

在.NET Core 3.0及以上版本,直接用内置的System.Text.Json命名空间就能实现,不用额外安装包:

using System;
using System.Text.Json;

class Program {
    static void Main() {
        // 用匿名类型对应你的JSON数据结构
        var data = new[] {
            new { id = 1, name = "Instant Coffee", price = 28.53, on_hand_quantity = 27 },
            new { id = 2, name = "Cranberries - Dry", price = 30.02, on_hand_quantity = 29 }
        };

        // 生成普通JSON字符串
        string jsonStr = JsonSerializer.Serialize(data);
        Console.WriteLine(jsonStr);

        // 生成带缩进的美化版
        var options = new JsonSerializerOptions { WriteIndented = true };
        string prettyJsonStr = JsonSerializer.Serialize(data, options);
        Console.WriteLine(prettyJsonStr);
    }
}

另外补充一句:如果你的需求其实是把JSON字符串解析成编程语言中的对象(也就是反序列化),那上面的方法反过来用就行——比如Python用json.loads(),JavaScript用JSON.parse(),Java用mapper.readValue(),C#用JsonSerializer.Deserialize()。

内容的提问来源于stack exchange,提问作者chuong trung vuong

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:52:04