PHP中数组转换成json字符串程序代码

 代码如下 复制代码

function array_to_json($array) {
 if (! is_array ( $array )) {
  return false;
 }
 
 $associative = count ( array_diff ( array_keys ( $array ), array_keys ( array_keys ( $array ) ) ) );
 if ($associative) {
 
  $construct = array ();
  foreach ( $array as $key => $value ) {
  
   // We first copy each key/value pair into a staging array,
   // formatting each key and value properly as we go.
  

   // Format the key:
   if (is_numeric ( $key )) {
    $key = "key_$key";
   }
   $key = """ . addslashes ( $key ) . """;
  
   // Format the value:
   if (is_array ( $value )) {
    $value = array_to_json ( $value );
   } else if (! is_numeric ( $value ) || is_string ( $value )) {
    $value = """ . addslashes ( $value ) . """;
   }
  
   // Add to staging array:
   $construct [] = "$key: $value";
  }
 
  // Then we collapse the staging array into the JSON form:
  $result = "{" . implode ( ",", $construct ) . "}";
 
 } else { // If the array is a vector (not associative):
 

  $construct = array ();
  foreach ( $array as $value ) {
  
   // Format the value:
   if (is_array ( $value )) {
    $value = array_to_json ( $value );
   } else if (! is_numeric ( $value ) || is_string ( $value )) {
    $value = """ . addslashes ( $value ) . """;
   }
  
   // Add to staging array:
   $construct [] = $value;
  }
 
  // Then we collapse the staging array into the JSON form:
  $result = "[" . implode ( ", ", $construct ) . "]";
 }
 
 return $result;
}

你可以试试这个 然后json_encode换成上面的函数看看正常了吗

 代码如下 复制代码

<?php
if($_GET['enews']=='ok'){
    echo json_encode(array('a'=>'王进'));exit;
}
?>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(function(){
    $.get("?enews=ok", function(result){
    alert(result);
 });
});
</script>

关于php中json_encode

json_encode()将PHP的不同类型的变量转换为对应的JSON字符串 string json_encode(mixed $value [, int

$options = 0])

PHP 5.3.0

JSON_HEX_QUOT: 将所有的双引号(”)转换为u0022。
// 实例代码:

 代码如下 复制代码
$data = '"';
echo json_encode($data); // """
echo json_encode($data, JSON_HEX_QUOT);

 // "u0022"■JSON_HEX_TAG: 将所有的大于号(>)转换为u003E,将

所有的小于号(<)转换为 u003C。
JSON_HEX_AMP: 将所有的与号(&)转换为 u0026。
JSON_HEX_APOS: 将所有的单引号(’)转换为u0027。
JSON_FORCE_OBJECT: 当value为非关联数组时强制输出结果为JSON对象。在接收者要求数据为对象且value为空数组时

使用。

// 实例代码:

 代码如下 复制代码
$data = array();
echo json_encode($data); // []
echo json_encode($data, JSON_FORCE_OBJECT); // {}

PHP 5.3.3

JSON_NUMERIC_CHECK: Encodes numeric strings as numbers.

PHP 5.4.0

JSON_BIGINT_AS_STRING: Encodes large integers as their original string value. Available since PHP
5.4.0.

JSON_PRETTY_PRINT: Use whitespace in returned data to format it. Available since PHP 5.4.0.
JSON_UNESCAPED_SLASHES: Don’t escape /. Available since PHP 5.4.0.
JSON_UNESCAPED_UNICODE: Encode multibyte Unicode characters literally (default is to escape as uXXXX).

Available since PHP 5.4.0.

时间: 2024-09-14 12:15:21

PHP中数组转换成json字符串程序代码的相关文章

将字典或者数组转换成JSON数据或者字符串

将字典或者数组转换成JSON数据或者字符串 源码: NSDictionary+JSON.h 与 NSDictionary+JSON.m // // NSDictionary+JSON.h // Category // // Created by YouXianMing on 15-2-09. // Copyright (c) 2014年 YouXianMing. All rights reserved. // #import <Foundation/Foundation.h> @interfa

js实现数组转换成json

  本文给大家分享的是使用javascript实现的数组转换json的代码,非常简单实用,相当于JSON.stringify(array);,有需要的小伙伴可以参考下. js实现数组转换成json ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 function arrayToJson(o) { var r = []; if (typeof o == "string") return """

hashmap-Struts1中map转换成json传到前台时取不到值——求指点!

问题描述 Struts1中map转换成json传到前台时取不到值--求指点! 后台报这个: Property 'servlet' has no read method. SKIPPED Property 'servletFor' has no read method. SKIPPED Property 'servlet' has no read method. SKIPPED Property 'servletFor' has no read method. SKIPPED Property '

json转换数组与数组转换成json数据(js ,php)

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.111cn.net/1999/xhtml"> <head> <meta http-equiv="conte

Java对象转换成Json字符串

使用gson-2.3.1.jar package org.acooly.thrift.demo.client; import java.util.ArrayList; import com.google.gson.Gson; public class json { public static void main(String[] args) {          ArrayList list=new ArrayList();     Student s1=new Student();     s

php中数字转换成货币格式实现代码

 代码如下 复制代码 function format_money( $STR ) {         if ( $STR == "" )         {                 return "";         }         if ( $STR == ".00" )         {                 return "0.00";         }         $TOK = strt

jsp-怎么把JSON字符串转换成java字符串或数组或者集合

问题描述 怎么把JSON字符串转换成java字符串或数组或者集合 var chk_value =[]; $('input[name="zd_resourcecb"]:checked').each(function(){ chk_value.push($(this).val()); }); var chk_values = JSON.stringify(chk_value); jsp是这么写的 不过得到的是JSON字符串 ,我想要得到java类型的字符串或是数组什么的 解决方案 字符串反

新手求教,字符串转换成JSON

问题描述 新手求教,字符串转换成JSON ActiveMQ消息队列:发布者代码:messagePublisher = (SimulatedMarketMessagePublisher)applicationContext.getBean(""messagePublisher""); Message message = new Message(); Head head = new Head(); SimTradeRecord str = new SimTradeRec

将Model对象转换成json文本或者json二进制文件

将Model对象转换成json文本或者json二进制文件 https://github.com/casatwy/AnyJson 注意:经过测试,不能够直接处理字典或者数组 主要源码的注释 AJTransformer.h 与 AJTransformer.m // // AJTransformer.h // AnyJson // // Created by casa on 14-9-19. // Copyright (c) 2014年 casa. All rights reserved. // #i