如何将json字符串转换为数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将json字符串转换为数组相关的知识,希望对你有一定的参考价值。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<SCRIPT LANGUAGE="javascript">
var t="'firstName': 'cyra', 'lastName': 'richardson', 'address': 'streetAddress': '1 Microsoft way', 'city': 'Redmond', 'state': 'WA', 'postalCode': 98052 ,'phoneNumbers': [ '425-777-7777','206-777-7777' ] ";
var jsonobj=eval('('+t+')');
alert(jsonobj.firstName);
alert(jsonobj.lastName);
var t2="[name:'zhangsan',age:'24',name:'lisi',age:'30',name:'wangwu',age:'16',name:'tianqi',age:'7'] ";
var myobj=eval(t2);
for(var i=0;i<myobj.length;i++)
alert(myobj[i].name);
alert(myobj[i].age);

var t3="[['<a href=# onclick=openLink(14113295100,社旗县国税局桥头税务所,14113295100,d6d223892dc94f5bb501d4408a68333d,swjg_dm);>14113295100</a>','社旗县国税局桥头税务所','社旗县城郊乡长江路西段']]";
//通过eval() 函数可以将JSON字符串转化为对象
var obj = eval(t3);
for(var i=0;i<obj.length;i++)
for(var j=0;j<obj[i].length;j++)
alert(obj[i][j]);


/*
//stringifier 函数的作用跟 parse 相反, 用来将一个js对象转换为 JSON 文本。
var jsonText = JSON.stringify(obj);
alert(jsonText);
//如果基于安全的考虑的话,最好是使用一个 JSON 解析器。 一个 JSON 解析器将只接受 JSON 文本。所以是更安全的。
var myObject = JSON.parse(myJSONtext, filter);
//可选的 filter 参数将遍历每一个value key 值对, 并进行相关的处理。如:
//如
myData = JSON.parse(text, function (key, value)
return key.indexOf('date') >= 0 ? new Date(value) : value; );
//stringifier 函数的作用跟 parse 相反, 用来将一个js对象转换为 JSON 文本。
var myJSONText = JSON.stringifier(myObject);
*/
</SCRIPT>
</HEAD>
<BODY>
</BODY>
</HTML>
参考技术A 1.json类型的字符串转换为json对象及取值
1  var jsonString = '"bar":"property","baz":3';
2 var jsObject = JSON.parse(jsonString); //转换为json对象
3 alert(jsObject.bar); //取json中的值

2.json对象转为json类型的字符串

var jsonString = '"bar":"property","baz":3';

var jsObject = JSON.parse(jsonString); //转换为json对象

alert(jsObject.bar); //取json中的值

var st = JSON.stringify(jsObject); //转换为json类型的字符串  

如何将 c# 二维数组转换为 JSON 对象?

【中文标题】如何将 c# 二维数组转换为 JSON 对象?【英文标题】:How do I convert a c# two-dimensional array to a JSON object? 【发布时间】:2010-11-20 10:28:15 【问题描述】:

如果我在 C# 中有一个二维数组 - 如何将其转换为包含二维数组的 JSON 字符串?

例如。

int[,] numbers = new int[8,4];
JavaScriptSerializer js = new JavaScriptSerializer();
string json = js.Serialize(numbers);

在 JSON 对象中给出一个扁平的一维数组。 Microsoft documentation states:

'一个多维数组被序列化为一维数组,你应该把它当作一个平面数组使用。'

【问题讨论】:

只是为了好玩,我要补充一点,Newtonsoft's Json.NET 没有二维数组的序列化问题,为了涵盖 2021 年的流行用例,ASP.NET Core 甚至 @987654323 @ 【参考方案1】:

您可以使用交错数组代替二维数组,其定义如下:

int[][] numbers = new int[8][];

for (int i = 0; i <= 7; i++) 
   numbers[i] = new int[4];
   for (int j = 0; j <= 3; j++) 
      numbers[i][j] =i*j;
   

JavascriptSerializer 会将其序列化为 [[#,#,#,#],[#,#,#,#],etc...]

【讨论】:

以上是关于如何将json字符串转换为数组的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 PHP 将 JSON 字符串数据转换为数组?

如何将 JSON 字符串转换为 JSON 数组列表? [复制]

如何将原型数组转换为 json 字符串

如何将数组转换成JSON-CSDN论坛

如何将json字符串转换为元素数组?

如何将字符串数组转换为 JSON 对象?