将json格式的数据转换成字符串(jquery实现)

在查询$.extend方法时看到的一个列子特别好,记录下来。可以用来解析json串到数组

<!DOCTYPE html>
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
  
<div id="log"></div>

<script>
var object1 = {
  apple: 0,
  banana: {weight: 52, price: 100},
  cherry: 97
};
var object2 = {
  banana: {price: 200},
  durian: 100
};

/* merge object2 into object1, recursively */
$.extend(true, object1, object2);

var printObj = typeof JSON != "undefined" ? JSON.stringify : function(obj) {
  var arr = [];
  $.each(obj, function(key, val) {
    var next = key + ": ";
    next += $.isPlainObject(val) ? printObj(val) : val;
    arr.push( next );
  });
  return "{ " +  arr.join(", ") + " }";
};

$("#log").append( printObj(object1) );
</script>

</body>
</html>

  地址:http://api.jquery.com/jQuery.extend/

转载于:https://www.cnblogs.com/zhouxiuquan/archive/2012/05/23/2515036.html

<think>嗯,用户这次的问题很明确:如何将JSON格式字符串转换JSON变量。从引用资料看,用户已经提供了一些线索,特别是引用[2]和[3]直接涉及Java和JavaScript的转换方法。让我仔细梳理一下。 用户可能正在开发一个需要处理JSON数据的应用,比如前后端交互场景。考虑到ta引用了Java相关的内容,但最后问题没有限定语言,需要覆盖主流的编程语言实现。值得注意的是,用户特别标注"不是真正的需求",说明ta更想要通用解决方案而非特定引用内容的复述。 从技术角度,这个问题需要拆解三个层面:首先是字符串合法性验证(因为无效JSON会导致转换失败),其次是不同语言的转换方法,最后是常见错误处理。引用[2]中提到的FastJSON库和引用[3]的jQuery方法都验证了不同语言有各自的最佳实践。 用户上次的对话历史提到系统指令要求中文回答和Latex格式规范,这次回答要保持一致。虽然JSON转换不需要数学公式,但变量名如jsonObj可以用$包裹表示代码元素,比如解析后得到$jsonObj$对象。 需要特别注意引用[4]提到的中文编码问题,这是实际开发中的常见痛点,应该在回答中强调。另外用户引用的PHP方案虽然有效但不够优雅,应当补充更标准的json_decode方案。 最后生的问题要引导用户深入,比如性能优化和异常处理,这些在用户提供的引用材料里没有充分展开。特别要提醒安全风险,因为JSON.parse可能执行恶意代码,这点所有引用都未提及。 </think>在不同编程语言中将JSON格式字符串转换为JSON变量的方法如下(附代码示例): ### 一、JavaScript实现 ```javascript // JSON字符串 const jsonString = '{"name": "Alice", "age": 25, "skills": ["Java","Python"]}'; // 转换为JSON对象(变量) const jsonObj = JSON.parse(jsonString); console.log(jsonObj.name); // 输出: Alice console.log(jsonObj.skills[0]); // 输出: Java ``` ### 二、Java实现(使用FastJSON) ```java import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; public class JsonDemo { public static void main(String[] args) { String jsonString = "{\"name\":\"Bob\",\"score\":88.5}"; // 转换为JSONObject变量 JSONObject jsonObj = JSON.parseObject(jsonString); System.out.println(jsonObj.getString("name")); // 输出: Bob System.out.println(jsonObj.getDouble("score")); // 输出: 88.5 } } ``` ### 三、Python实现 ```python import json json_string = '{"city": "Beijing", "population": 21540000}' # 转换为字典对象(Python的JSON变量) data = json.loads(json_string) print(data["city"]) # 输出: Beijing print(type(data)) # 输出: <class 'dict'> ``` ### 四、PHP实现 ```php <?php $jsonStr = '{"product":"Laptop","price":5999.99}'; // 转换为关联数组(默认) $dataArray = json_decode($jsonStr, true); // 转换为对象 $dataObj = json_decode($jsonStr); echo $dataArray['product']; // 输出: Laptop echo $dataObj->price; // 输出: 5999.99 ?> ``` ### 关键注意事项: 1. **格式验证**:转换前需确保字符串是有效的JSON格式(可使用 [JSONLint](https://jsonlint.com/) 在线验证) 2. **编码处理**: - 中文字符需保证UTF-8编码 - PHP中处理中文建议添加选项: ```php json_decode($str, false, 512, JSON_UNESCAPED_UNICODE); ``` 3. **异常处理**: ```javascript // JavaScript示例 try { const obj = JSON.parse(jsonString); } catch (e) { console.error("无效JSON格式"); } ``` > 不同语言中的JSON变量实质: > JavaScript - `JSON对象` > Java - `JSONObject/JSONArray` > Python - `字典(dict)/列表(list)` > PHP - `关联数组/标准对象`
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值