前端json文件处理,前端如何处理json数据

本文目录一览:

node.js发送的json数据怎么处理,需要返回对象

前端传给服务器的只是json 格式的字符串,使用json_decode,

mixed json_decode ( string $json [, bool $assoc ] )

var_dump(json_decode($json));

var_dump(json_decode($json, true));

如果不带参数,则返回为对象

带上true时,返回数组

foreach($ARR as $k=$v){

echo ‘key=’.$k.’;value=’.$v;

}

单独处理每个key 和对应的value就好

几个有效的前端数据处理的方法

一、JSON对象过滤数据(处理复杂数据时可以直接在内部过滤掉)

封装方法:

function  getTargetObject(targetObject, propsArray){if(typeof(targetObject) !==”object”|| !Array.isArray(propsArray)) {thrownewError(“参数格式不正确”); }constresult = {};Object.keys(targetObject).filter(key=propsArray.includes(key)).forEach(key={ result[key] = targetObject[key]; })returnresult;}

使用方法:

let arr = {a: ‘1’, b:’2′, c: ‘3’}

getTargetObject(arr, [‘a’, ‘b’])

引用网站:

二、数组切割(当后端传来数据过多的时候,将数据切成几个等分,用户下拉的时候再展示)

 * 将一个数组分成几个同等长度的数组   * array[分割的原数组]   * size[每个子数组的长度]

 */functionsliceArray(array, size) {

    varresult = [];

    for(varx = 0; x  Math.ceil(array.length / size); x++) {

        varstart = x * size;

        varend = start + size;

        result.push(array.slice(start, end));

    }  returnresult  }

引用网站: ;word=js%CA%FD%D7%E9%C7%D0%B7%D6ie=gbk

三、数据过滤(使用JSON.stringify方法)

   数据:   persons: [

                      {apple: ‘苹果’},

                      {watermelon: ‘西瓜’},

                      {lemon: ‘柠檬’},

                      {Blueberry: ‘蓝莓’},                        

                      {orange: ‘橙子’}],

方法: handChange() {    

                  let oneFruits = JSON.stringify(this.persons, function (inx, ite) {

                    if (inx === ‘watermelon’ || inx === ‘orange’) {

                        return undefined

                    } else {

                        return ite } })

                  this.persons = JSON.parse(oneFruits) }

结果:

四、通过$set给数据注入值并更新视图(解决在vue中新增数据不更新视图的问题)

数据:     persons: [

                        {id: ‘1’,name: ‘苹果’},

                        {id: ‘2’,name: ‘西瓜’},

                        {id: ‘3’,name: ‘柠檬’},

                        {id: ‘4’,name: ‘蓝莓’} ]

方法:       handChange() {    

                    let oneFruits = JSON.parse(JSON.stringify(this.persons[0])) 

                    let twoFruits = JSON.parse(JSON.stringify(this.persons[1])) 

                    let newFruits = {id: ‘5’, name: ‘葡萄’}

                    console.log(twoFruits)             

                    this.$set(this.persons, 1, oneFruits) // 将西瓜的位置放上苹果 

                    this.$set(this.persons, 0, twoFruits) // 将苹果的位置方式西瓜

                    this.$set(this.persons, 4, newFruits) // 添加葡萄并更新视图

                    console.log(this.persons) }

结果:

前端json数据进行base64编码,怎么做

将二进制文件进行可视化字符串编码,比如BASE64编码(电子邮件附件就是采取的这种编码方法),编码成为文本字符串,再转换为JSON数据。 取出的时候将数据进行解码即可还原图像。 不推荐在JSON里存储图像数据。

前端怎么解析json

不建议使用eval()函数,因为eval()接受任意的字符串,并当作JavaScript代码来处理,这个机制已经有安全隐患了var str='{ “name”: “John” }’;var obj = eval (‘(‘ + str + ‘)’);alert(obj.name); $.parseJSON()和JSON.parse()函数用于将格式完好的JSON字符串转为与之对应的JavaScript对象。所谓”格式完好”,就是要求指定的字符串必须符合严格的JSON格式,例如:属性名称必须加双引号、字符串值也必须用双引号。其次,JSON标准不允许字符串中出现”控制字符”,正确写法应该是使用两个反斜杠,以免被JS解析器直接转义。 1、JSON字符串转换为JSON对象var str='{ “name”: “John” ,”age”: “24” }’;var obj = $.parseJSON(str);alert(obj.name); //John var str = ‘{ “name”: “John”, “age”: “24” }’;var obj = JSON.parse(str);alert(obj.name); //John 2、将JSON对象转换为字符串var obj={name: “John”, age: “24”};var last=JSON.stringify(obj);alert(last); //'{name: “John”, age: “24”}’ var obj={name: “John”, age: “24”};var last=obj.toJSONString();alert(last); //'{name: “John”, age: “24”}’ 3、解析读取json对象var str={ “result”:{ “age”:”33″, “id”:”2server”, “name”:”mady” }};alert(str.result.age); //33 var result = $.parseJSON( ‘[ 1, true, “CodePlayer” ]’ );alert( result[1] ); // CodePlayer var result = $.parseJSON( “\”专注于编程开发技术分享\”” );alert(result); //专注于编程开发技术分享

如何将数据以json格式传给前端

将数据以json格式传给前端:

function generateDtb() {

//写入

var txtName = document.getElementById(“txtName”).value;

//创建数组

var dtb = new Array();

//通过循环把数据写入到数组并返回

for (var i = 0; i firstGroup.length; i++) {

var row = new Object();

row.Name = txtName;

row.fullMoney = firstGroup[i].value;

row.discount = secondGroup[i].value;

dtb.push(row);

}

return dtb;

}

把数组转换成json串传入到后台:

$(function () {

//点击botton1

$(“#lbtnOK”).click(function () {

var url = “DiscountManger.aspx?ajax=1”;

var dtb = generateDtb();

// var strName = document.getElementById(“txtName”).value;

if (dtb == null)

{ }

else {

//序列化对象

var postdata = JSON.stringify(dtb);

//异步请求

$.post(url, { json: postdata }, function (json) {

if (json) {

jBox.tip(“添加成功!”, “提示”);

location.reload();

}

else {

jBox.tip(“添加失败!”, “提示”);

location.reload();

}

}, “json”)

}

});

});

在后台的操作:

首先判断是否需要传输数据

if (!IsPostBack)

{

//判断是否异步请求

if (Request.QueryString[“ajax”] == “1”)

{

ProcessRequest();

}

在这里进行对数据的处理:

/// summary

/// 处理异步请求

/// /summary

private void ProcessRequest()

{

//存入要填写的策略

ArrayList arrDiscount = new ArrayList();

Response.ContentType = “text/html”;

string json = Request.Form[“json”];

//反序列化DataTable

if (json == null)

{

return;

}

else

{

DataTable newdtb = Json2Dtb(json);

for (int i = 0; i newdtb.Rows.Count; i++)

{

Entity.StrategyDiscount enStrategyDiscount = new Entity.StrategyDiscount();

//打折方案名

enStrategyDiscount.name = newdtb.Rows[i][“Name”].ToString();

//商店ID

enStrategyDiscount.shopId = long.Parse(LoginInfo.ShopID);

enStrategyDiscount.fullMoney = Convert.ToDecimal(newdtb.Rows[i][“fullMoney”].ToString());

enStrategyDiscount.discount = Convert.ToDecimal(newdtb.Rows[i][“discount”].ToString());

//写入数据到数组

arrDiscount.Add(enStrategyDiscount);

}

//写入数据到数据库

IStrategyBLL strategy = new StrategyBLL();

if (strategy.AddStrategyDiscount(arrDiscount))

{

Response.Write(“true”);

Response.End();

}

else

{

Response.Write(“false”);

Response.End();

}

}

这里,我们需要把json转换成datatable

/// summary

/// Json转DataTable

/// /summary

/// param name=”json”/param

/// returns/returns

private DataTable Json2Dtb(string json)

{

JavaScriptSerializer jss = new JavaScriptSerializer();

ArrayList dic = jss.DeserializeArrayList(json);

DataTable dtb = new DataTable();

if (dic.Count 0)

{

foreach (Dictionarystring, object drow in dic)

{

if (dtb.Columns.Count == 0)

{

foreach (string key in drow.Keys)

{

dtb.Columns.Add(key, drow[key].GetType());

}

}

DataRow row = dtb.NewRow();

foreach (string key in drow.Keys)

{

row[key] = drow[key];

}

dtb.Rows.Add(row);

}

}

return dtb;

}

这样,就可以把数据无刷新的写入到数据库。

当然,如果我们有一个从数据库读取的datatable,如果通过json显示在前台呢。

首先,我们需要把datatable转换为json数据

/// summary

/// DataTable转Json

/// /summary

/// param name=”dtb”/param

/// returns/returns

private string Dtb2Json(DataTable dtb)

{

JavaScriptSerializer jss = new JavaScriptSerializer();

ArrayList dic = new ArrayList();

foreach (DataRow row in dtb.Rows)

{

Dictionarystring, object drow = new Dictionarystring, object();

foreach (DataColumn col in dtb.Columns)

{

drow.Add(col.ColumnName, row[col.ColumnName]);

}

dic.Add(drow);

}

return jss.Serialize(dic);

}

然后写回到前台

/// summary

/// 处理异步请求

/// /summary

private void ProcessRequest()

{

Response.ContentType = “text/html”;

string json = Request.Form[“json”];

//反序列化DataTable

DataTable newdtb = Json2Dtb(json);

//序列化DataTable为JSON

string back = Dtb2Json(newdtb);

Response.Write(back);

Response.End();

}

在前台接受显示:

$(function() {

//点击botton1

$(“#botton1”).click(function() {

createTable(json);

});

});

//显示Json中的数据

function createTable(json) {

var table = $(“table border=’1’/table”);

for (var i = 0; i json.length; i++) {

o1 = json[i];

var row = $(“tr/tr”);

for (key in o1) {

var td = $(“td/td”);

td.text(o1[key].toString());

td.appendTo(row);

}

row.appendTo(table);

}

table.appendTo($(“#back”));

}

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/252082.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-13 17:34
下一篇 2024-12-13 17:34

相关推荐

  • Python读取CSV数据画散点图

    本文将从以下方面详细阐述Python读取CSV文件并画出散点图的方法: 一、CSV文件介绍 CSV(Comma-Separated Values)即逗号分隔值,是一种存储表格数据的…

    编程 2025-04-29
  • vue下载无后缀名的文件被加上后缀.txt,有后缀名的文件下载正常问题的解决

    本文旨在解决vue下载无后缀名的文件被加上后缀.txt,有后缀名的文件下载正常的问题,提供完整的代码示例供参考。 一、分析问题 首先,需了解vue中下载文件的情况。一般情况下,我们…

    编程 2025-04-29
  • 如何在Java中拼接OBJ格式的文件并生成完整的图像

    OBJ格式是一种用于表示3D对象的标准格式,通常由一组顶点、面和纹理映射坐标组成。在本文中,我们将讨论如何将多个OBJ文件拼接在一起,生成一个完整的3D模型。 一、读取OBJ文件 …

    编程 2025-04-29
  • Python程序文件的拓展

    Python是一门功能丰富、易于学习、可读性高的编程语言。Python程序文件通常以.py为文件拓展名,被广泛应用于各种领域,包括Web开发、机器学习、科学计算等。为了更好地发挥P…

    编程 2025-04-29
  • Python中读入csv文件数据的方法用法介绍

    csv是一种常见的数据格式,通常用于存储小型数据集。Python作为一种广泛流行的编程语言,内置了许多操作csv文件的库。本文将从多个方面详细介绍Python读入csv文件的方法。…

    编程 2025-04-29
  • 为什么用cmd运行Java时需要在文件内打开cmd为中心

    在Java开发中,我们经常会使用cmd在命令行窗口运行程序。然而,有时候我们会发现,在运行Java程序时,需要在文件内打开cmd为中心,这让很多开发者感到疑惑,那么,为什么会出现这…

    编程 2025-04-29
  • Python zipfile解压文件乱码处理

    本文主要介绍如何在Python中使用zipfile进行文件解压的处理,同时详细讨论在解压文件时可能出现的乱码问题的各种解决办法。 一、zipfile解压文件乱码问题的根本原因 在P…

    编程 2025-04-29
  • Python将矩阵存为CSV文件

    CSV文件是一种通用的文件格式,在统计学和计算机科学中非常常见,一些数据分析工具如Microsoft Excel,Google Sheets等都支持读取CSV文件。Python内置…

    编程 2025-04-29
  • Python如何导入py文件

    Python是一种开源的高级编程语言,因其易学易用和强大的生态系统而备受青睐。Python的import语句可以帮助用户将一个模块中的代码导入到另一个模块中,从而实现代码的重用。本…

    编程 2025-04-29
  • 如何用Python统计列表中各数据的方差和标准差

    本文将从多个方面阐述如何使用Python统计列表中各数据的方差和标准差, 并给出详细的代码示例。 一、什么是方差和标准差 方差是衡量数据变异程度的统计指标,它是每个数据值和该数据值…

    编程 2025-04-29

发表回复

登录后才能评论