鱼C论坛

 找回密码
 立即注册
查看: 906|回复: 16

[已解决]怎么返回一个 json?

[复制链接]
发表于 2023-7-28 17:18:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 Threebody1 于 2023-7-30 00:00 编辑

我想在我的网站上添加一个返回 json 的页面,如何实现?像https://api.github.com/repos/ddd ... simulate/stargazers一样
最佳答案
2023-7-28 19:23:51
你直接建一个 .json 的文件,然后放着 json 结构的字符串就行了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-7-28 17:19:16 | 显示全部楼层
要在你的网站上添加一个返回 JSON 的页面,你需要使用服务器端编程语言来实现。以下是一个简单的示例使用 Python 和 Flask 框架来创建一个返回 JSON 数据的页面:
from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/jsondata')
def json_data():
    data = {
        'name': 'John Doe',
        'age': 25,
        'country': 'USA'
    }
    return jsonify(data)

if __name__ == '__main__':
    app.run()

在这个例子中,我们使用 Flask 创建了一个简单的 Web 应用。@app.route('/jsondata') 定义了一个路由,当访问 /jsondata 时,将会触发 json_data() 函数。

json_data() 函数中,我们创建了一个字典 data 来表示要返回的 JSON 数据。然后使用 jsonify(data) 将字典转换为 JSON 格式的响应。

你可以使用类似的方法,将你想要的数据组织成字典,并使用 jsonify() 方法返回 JSON 响应。记得根据你的具体需求修改路由和数据内容。

请注意,这只是一个简单的示例,实际情况可能更复杂,具体的实现取决于你使用的编程语言和框架。
如果问题已经解决,请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-28 17:19:21 | 显示全部楼层
要在你的网站上添加一个返回 JSON 的页面,你可以使用后端编程语言和框架来实现。下面我将用Python和Flask框架作为例子来说明如何实现。

首先,你需要安装Python和Flask。确保你已经安装了Python,并使用以下命令安装Flask:
pip install Flask

接下来,创建一个Python文件,比如 app.py ,并在其中编写以下代码:
from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/api/stargazers', methods=['GET'])
def get_stargazers():
    # 在这里编写获取数据的逻辑,可以是从数据库、API或其他来源获取数据
    # 假设这里我们使用一个示例数据
    stargazers_data = [
        {"username": "user1", "stars": 100},
        {"username": "user2", "stars": 50},
        {"username": "user3", "stars": 20}
    ]

    # 使用jsonify函数将数据转换为JSON格式并返回
    return jsonify(stargazers_data)

if __name__ == '__main__':
    app.run()

在这个例子中,我们使用Flask创建了一个简单的Web应用,其中定义了一个路由 /api/stargazers ,当用户访问这个路由时,会返回一个包含星标用户信息的JSON。

启动应用程序,可以执行以下命令:
python app.py

这将在本地运行你的Flask应用程序,并在终端中显示类似于  Running on http://127.0.0.1:5000/  的消息。

现在,当你在浏览器中访问  http://127.0.0.1:5000/api/stargazers  或使用curl命令,你将会得到一个类似于以下内容的JSON响应:
[
    {"username": "user1", "stars": 100},
    {"username": "user2", "stars": 50},
    {"username": "user3", "stars": 20}
]

请注意,在实际应用中,你应该替换示例数据为真实的数据源,可能是从数据库、API或其他地方获取数据。这样你的网站就可以像https://api.github.com/repos/ddd...simulate/stargazers一样返回JSON数据了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-28 17:20:01 | 显示全部楼层
要在您的网站上添加一个返回 JSON 的页面,您需要使用服务器端编程语言(如Python、Java、PHP等)来处理请求并生成相应的 JSON 数据。以下是一个示例使用Python和Flask框架的代码:
from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/data', methods=['GET'])
def get_data():
    data = {
        'key1': 'value1',
        'key2': 'value2',
        'key3': 'value3'
    }
    return jsonify(data)

if __name__ == '__main__':
    app.run()

在这个例子中,我们使用Flask创建了一个简单的Web应用程序,并定义了一个路由/data。当发送GET请求到/data时,会执行get_data函数并返回一个JSON响应。

您可以根据自己的需求修改data字典的内容,构建您想要返回的JSON数据。然后,您可以将这段代码部署到您的服务器上,并通过访问https://你的网站地址/data来获取返回的JSON数据。

请注意,这只是一个简单的示例,实际的实现方式可能因您使用的编程语言和框架而有所不同。
如果问题已经解决,请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-28 17:20:27 | 显示全部楼层
isdkz 发表于 2023-7-28 17:19
要在你的网站上添加一个返回 JSON 的页面,你可以使用后端编程语言和框架来实现。下面我将用Python和Flask ...

?????????我想让 dddddgz.github.io 上的某个页面返回 json啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-28 17:20:57 | 显示全部楼层
陶远航 发表于 2023-7-28 17:20
要在您的网站上添加一个返回 JSON 的页面,您需要使用服务器端编程语言(如Python、Java、PHP等)来处理请 ...

回复2次是什么bug
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-28 17:35:05 | 显示全部楼层
<!DOCTYPE html>
<html>
<head>
    <script>
        window.onload = function() {
            var jsonData = {
                "name": "John",
                "age": 30,
                "city": "New York"
            };

            var jsonStr = JSON.stringify(jsonData);

            document.getElementById("jsonOutput").innerHTML = jsonStr;
        };
    </script>
</head>
<body>
    <pre id="jsonOutput"></pre>
</body>
</html>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2023-7-28 17:39:05 | 显示全部楼层


不行哎,requests爬取到的是
<!DOCTYPE html>
<html>
<head>
    <script>
        window.onload = function() {
            var jsonData = {
                "name": "John",
                "age": 30,
                "city": "New York"
            };

            var jsonStr = JSON.stringify(jsonData);

            document.getElementById("jsonOutput").innerHTML = jsonStr;
        };
    </script>
</head>
<body>
    <pre id="jsonOutput"></pre>
</body>
</html>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-28 17:40:52 | 显示全部楼层

有个人把之前已解决了的设为未解决,脚本检测到增加了,直接获取第一个问题来回答。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-28 17:42:36 | 显示全部楼层
陶远航 发表于 2023-7-28 17:40
有个人把之前已解决了的设为未解决,脚本检测到增加了,直接获取第一个问题来回答。。。

我编辑帖子的时候不小心把类型改了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-28 17:43:05 | 显示全部楼层
Threebody1 发表于 2023-7-28 17:42
我编辑帖子的时候不小心把类型改了

我说呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-28 17:43:44 | 显示全部楼层

你的脚本现在是不是报错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-28 17:44:27 | 显示全部楼层
Threebody1 发表于 2023-7-28 17:43
你的脚本现在是不是报错了

不是,我加了检测,就是为了防止你们这些人
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-28 17:45:34 | 显示全部楼层
陶远航 发表于 2023-7-28 17:44
不是,我加了检测,就是为了防止你们这些人

刚才我新建了一个主题又删掉了应该可以
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-28 17:47:12 | 显示全部楼层
Threebody1 发表于 2023-7-28 17:45
刚才我新建了一个主题又删掉了应该可以
while True:
    try:
        #do something
    except:
        pass

这个是干什么用的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-28 17:48:54 | 显示全部楼层
陶远航 发表于 2023-7-28 17:47
这个是干什么用的

评分

参与人数 1荣誉 -5 鱼币 -5 贡献 -3 收起 理由
歌者文明清理员 -5 -5 -3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2023-7-28 19:23:51 | 显示全部楼层    本楼为最佳答案   
你直接建一个 .json 的文件,然后放着 json 结构的字符串就行了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 12:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表